[Swift] Unit/UI Test メモ #2
XCTest
基本
メソッド | 意味 |
---|---|
setUp | 各テストが始まる前に実行 |
tearDown | 各テストが終わった後に実行 |
setUpWithError | 各テストが始まる前に実行、 throws付き |
tearDownWithError | 各テストが終わった後に実行、throws付き |
testExample | 各テスト実施 |
testPerformanceExample | 性能テスト |
テンプレート(Xcode 11.4 )
throws付き
両方のサンプルテストメソッドをマークします。
ただし、setup()、tearDown()、非スローテストメソッドを使用できます。
(非推奨ではありません。)
override func setUpWithError() throws {}
override func tearDownWithError() throws {}
func testExample() throws {}
func testPerformanceExample() throws {}
※参照:XCTest Error Handling Improvements
Realm
Realmアプリを使用してテストする最も簡単な方法
・デフォルトのレルムをテストごとに新しいファイルに設定します。
理由:アプリケーションデータを上書きしたり、テスト間で状態を漏らしたりしないようにするため、
realmTests.swift
class TestCaseBase: XCTestCase {
override func setUp() {
super.setUp()
Realm.Configuration.defaultConfiguration.inMemoryIdentifier = self.name
}
}
参照: Realm
UI Test
sampleUITests.swift
func testExample() {
let app = XCUIApplication()
app.buttons["Test"].tap()
app.staticTexts["touched Test Button: "].tap()
}
コードカバレッジ(Code Coverage )
実際にテストによって実行されているアプリコードを通知するので、アプリコードのどの部分が(まだ)テストされていないかがわかります。
Author And Source
この問題について([Swift] Unit/UI Test メモ #2), 我々は、より多くの情報をここで見つけました https://qiita.com/mario7/items/632d653aefe85bce437c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .