Swift 3を使用するために開発したCocoapodを更新しています。アップグレードする前に、すべての非同期ユニットテストが正常に動作していました。しかし、今アップグレードした後は、ただちに1人ひとりがすぐに失敗し、なぜか分かりません。それぞれが以下のような構造になっています:xCode 8/Swift 3のiOS非同期ユニットテスト(waitForExpectations failing)
override func setUp() {
super.setUp()
validationExpectation = expectation(description: "Validation")
}
.
.
.
func testSymbolRequest(){
_ = MyCocoapod.makeSymbolRequest(symbol: "ABC", success: { (symbolObject) in
self.validationExpectation.fulfill()
XCTAssert(true)
}) { (error) in
self.validationExpectation.fulfill()
XCTFail(error.description)
}
waitForRequestToFinish()
}
.
.
.
func waitForRequestToFinish(){
waitForExpectations(timeout: 60.0) { (error) in
if let error = error {
XCTFail(error.localizedDescription)
}
}
}
waitForExpectations関数はまったく待機していません。それはすぐに呼び出された後に失敗します。私は実際のネットワーキングコードとは関係がないことを確認しており、リクエストはCocoapodのサンプルプロジェクトで完璧に動作します。私はAlamofireを使用しています。私はそれが問題だとは思わないが、言及する価値があると思った。表示されるエラーメッセージは「不明なエラー」です。