对不起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