2017-11-28 17 views
0

私のテストでこのコードブロックがあります。コードは、 "asynchronous wait failed:exceeded timeout ......"というエラーで実行されます。 .fulfill()がキックインするとは思っていましたが、それはありません...エラーを出さずにこれを実行する方法に関するアイデアはありますか?非同期待機が失敗しましたSwift 4 Alamofire

func test_checkUpLoadFileIsThere_returnsString(){ 
    let expec = expectation(description: "photo viewer") 
    let pvc = PhotoTakerViewController() 
    let isImageThere = pvc.checkFileExsists("166220.jpg") 
    waitForExpectations(timeout: 4, handler: {response in 
     expec.fulfill() 
     print("Expectation block") 
    }) 

    XCTAssertEqual(isImageThere,"Found File : 166220.jpg","image should be there") 
} 
+0

返信いただきありがとうございます。同じ結果。このテストに合格する方法を試してみようと最後の2日間を費やしました....それが何であるかについての他のアイデアは? – Foxman

答えて

0

あなたはwaitForExpectations前に期待をfulfill()する必要があります。今、あなたは待っている失敗のブロックであなたの達成をしています。それはまったく動かないでしょう。実際、このコードは非同期には見えないので、まったく期待する必要はありません。非同期の場合は、期待通りの完了ハンドラを公開する必要があります。

+0

この行では、非同期コードが呼び出されます。 let isImageThere = pvc.checkFileExsists( "166220.jpg") 私は結果をテストしたいと思います。 – Foxman

関連する問題