私はSwiftのユニットテストが初めてです。今私はviewControllerをテストしたかったのです。私はviewDidLoadで非同期呼び出しがあります。データが正しくロードされた場合にコントローラをテストしたい場合、データがロードされていないようにします。私はすでにXCTestExpectationでビルドする必要があることを読んでいます。スウィフトユニットテスト - viewDidLoadを待つ
だから私は持っている情報は、私はこの質問から得た:私は実装する方法がわからない、そこから例があるXCTest Unit Test data response not set in test after viewDidLoad
答えを。私のテストクラスは次のようになります。
import XCTest
@testable import apirequest
class SearchedForViewControllerTests: XCTestCase {
var vc: SearchedForViewController!
override func setUp() {
super.setUp()
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
vc = storyboard.instantiateViewController(withIdentifier: "SearchedForViewController") as! SearchedForViewController
vc.passedString = "garten"
let _ = vc.view
}
func testArticlesShwon() {
print(vc.tableView.numberOfRows(inSection: 0))
}
}
私は自分のコードに見えるのであればのviewDidLoadの一部は、私が期待して構築したい場合は、私はこれを待つ必要が
let _ = vc.view
に起こります部。しかし、その部分は機能ではありません。だから私はどのようにロード後に達成するために私の期待を伝えることができたか分からない。