Google Toolbox For Mac:测试[NSURLConnection sendSynchronousRequest:...]

时间:2011-03-30 07:03:39

标签: iphone nsurlconnection google-toolbox-for-mac

我想知道如何测试同步请求以根据服务器响应断言API客户端的行为。 因为独立于服务器是一个好习惯(所以测试运行速度快,不依赖于互联网连接),我想回复自己的回复。我不知道怎么做,因为请求是同步的:

NSURL *url = [self URL];
NSData *postData = [self postData];

NSMutableURLRequest *downloadRequest = [NSMutableURLRequest requestWithURL:url];

[downloadRequest setHTTPMethod:@"POST"];
[downloadRequest setHTTPBody:postData];
[downloadRequest setTimeoutInterval:10.0];  
return downloadRequest;

NSURLResponse *response;
NSError *error = nil;
NSData *urlData = [NSURLConnection sendSynchronousRequest:downloadRequest
                    returningResponse:&response
                    error:&error];

您对如何做到这一点有什么建议吗? 我不知道是否可以覆盖NSURLConnection,或者我是否应该更改我的代码,仅用于测试目的。

1 个答案:

答案 0 :(得分:0)

我不完全理解问题的第一句话。我可以说你几乎肯定想让它异步。同步请求将阻止UI,如果需要太长时间,iOS将强制退出您的应用程序。然后,您的异步请求回调可以查看成功/失败,然后调用具有相同响应或修改过的响应的委托,或者发布您之前已安装处理程序的通知,再次根据需要交换响应。< / p>