使用Xcode测试和异步NSURLConnection请求的响应

时间:2014-10-21 12:02:14

标签: ios xcode unit-testing nsurlconnection nsurlconnectiondelegate

我想利用Xcode中的测试类和方法来检查我从应用程序执行的几个异步HTTP服务请求中收到的响应,以便查看我是否正确接收和解析了预期的参数。

我收到的回复是JSON格式,我的应用程序解析它们以创建自定义对象。我通过一个使用NSURLConnection连接的对象来调用服务,并实现NSURLConnectionDelegate协议来获取响应。我没有找到测试方法,因为将XCTestCase类符合NSURLConnectionDelegate协议似乎不起作用。

由于

1 个答案:

答案 0 :(得分:0)

我建议你不正确地进行这种测试。

使用实时数据,实际上通过网络执行获取并不是您正在测试的内容。您只想测试解析返回的数据。

一种方法是使用诸如OHHTTPStubsNocilla之类的存根框架。

通过这种方式,您可以加载JSON文件并测试解析,或者甚至可以测试不同的条件,例如网络不良或网络错误。

这提供了一个可控制的环境来执行测试,并且比实际执行提取更好。

另一个优点是,您可以在通勤和没有互联网连接的情况下针对这些测试编写代码:)