Ci scusiamo per la domanda noob, ma sto provando a verificare una connessione, ma non sono in grado di verificare il ritorno della richiesta, perché il test termina prima che il gestore di completamento abbia una possibilità di eseguire. Per ilustrate:Come verificare una sendAsynchronousRequest: su 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");
}
Quando provo a far valere, _data sarà sempre pari a zero, perché il gestore di completamento non è stato ancora eseguito. C'è un meccanismo per forzare il test ad attendere finché non ho una risposta dal metodo sendAsynchronousRequest :. Grazie in anticipo.
Grazie uomo, che è esattamente quello che stavo cercando! –
Potrebbe essere utile sapere che uno dei problemi noti menzionati nel readme XCAsyncTestCase è che "i test si bloccano quando vengono eseguiti con i bot di sviluppo XCode". Quindi, se stai usando i bot di sviluppo, potresti dare un'occhiata a 'xctest-additions' di iheartradio. – eremzeit