申し訳ありませんが、私は接続をテストしようとしていますが、完了ハンドラの前にテストが終了するため、リクエストの返信を確認できません。実行する機会。 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のreadmeに記載されている既知の問題の1つは、 "XCodeビルドボットで実行するとテストがハングする"ことがわかっていると便利です。ビルドボットを使っているなら、iheartradioで 'xctest-additions'を見るかもしれません。 – eremzeit