【发布时间】:2012-01-19 22:52:44
【问题描述】:
我在 SenTestCase 类中有以下 Objective C 测试代码。我没有收到任何错误,但永远不会调用 httpReceiveDataFinished 方法。这是因为在委托有机会处理 http 方法之前测试就结束了吗?
如果是这种情况,我该如何分离一个线程(或类似的东西)以使测试等待几秒钟?
感谢一百万的帮助。我已经编写 Java 多年了,但 Objective-C 才几天。
- (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);
}
【问题讨论】:
-
太棒了。像魅力一样工作。
标签: objective-c unit-testing delegates