我想测试一个发出URL请求的方法。当在NSURLConnectionDelegate方法中收到响应时,我保存响应。我真正想测试的逻辑是是否保存了响应。
如何测试NSURLConnectionDelegate方法?
我想测试的方法:
- (void) getProfilePictureURL :(NSString *)fbId
{
//to get picture URL
NSString *urlString = [NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large", fbId];
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if (!connection)
{
NSLog(@"error while starting the connection");
}
}
// NSURLConnectionDelegate method
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
// Save response in user defaults
}发布于 2013-08-22 10:13:41
NSURLConnection类本身没有任何方法来返回http响应代码,因此将404视为一个成功的响应--我认为它是一个连接,并且返回了某个东西( 404页)。
查看响应是200 OK还是404未找到的诀窍是将NSURLResponse转换为NSHTTPURLResponse,然后使用该类方法查找http响应代码。
注意:如果建立了连接,则一定会调用委托。您应该检查连接是否没有建立,然后检查您应该做什么。
https://stackoverflow.com/questions/18375400
复制相似问题