對不起noob問題,但我想測試一個連接,但我無法驗證請求的返回,因爲測試在完成處理程序之前結束一個執行的機會。要ilustrate:如何測試sendAsynchronousRequest:在XCTest上
-(void)testConnection
{
[[Conector sharedInstance] performAsynchronousRequestWithServerRequest:_srvRequest completionHandler:^(RequestAsynchronousStatus finishStatus, NSData *data) {
if (finishStatus == RequestAsynchronousOK){
_data = data;
NSLog(@"Data OK");
}
}];
XCTAssertNotNil(_data, @"Data was nil");
}
當我嘗試斷言,_data永遠是零,因爲完成處理程序尚未執行。有一種機制可以迫使測試等待,直到我有了來自sendAsynchronousRequest:方法的一些響應。 在此先感謝。
感謝的人,這正是我一直在尋找! –
瞭解XCAsyncTestCase自述文件中提到的其中一個已知問題是「測試在XCode構建機器人下運行時掛起」可能很有用。所以如果你使用build bot,你可以看iheartradio的'xctest-additions'。 – eremzeit