J'ai le code de test Objective C suivant dans une classe SenTestCase. Je n'obtiens aucune erreur, mais la méthode httpReceiveDataFinished n'est jamais appelée. Est-ce parce que le test est terminé avant que le délégué ait la possibilité de traiter la méthode http?Comment puis-je demander à la méthode de test d'attendre la fin du traitement du délégué?
Si c'est le cas, comment puis-je faire tourner un thread (ou quelque chose de similaire) pour faire attendre le test pendant quelques secondes?
Merci mille fois pour toute aide. J'ai programmé Java pendant des années, mais Objective-C seulement quelques jours.
- (void)testExample
{
HttpClient *client = [[HttpClient alloc] init];
client.method = METHOD_GET;
client.followRedirects = YES;
[client processRequest:@"http://google.com" delegate:self];
NSLog(@"Test Over");
}
-(void) httpReceiveError:(NSError*)error {
NSLog(@"***\n%@\n***",[error description]);
}
- (void) httpReceiveDataChunk:(NSData *)data {
[self.httpResponseData appendData:data];
}
-(void) httpReceiveDataFinished {
NSString *result = [[NSString alloc]
initWithData:self.httpResponseData
encoding:NSUTF8StringEncoding];
NSLog(@"***\nRESULT: %@ \n***",result);
}
http://stackoverflow.com/questions/1077737/ocunit-test-for-protocols-callbacks-delegate-in-objective-c –
génial. travaillé comme un charme. –