【问题标题】:Testing and asynchronous NSURLConnection request's response with Xcode使用 Xcode 测试和异步 NSURLConnection 请求的响应
【发布时间】:2014-12-16 15:35:40
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: ios xcode unit-testing nsurlconnection nsurlconnectiondelegate


    【解决方案1】:

    我建议你错误地进行这种测试。

    使用实时数据并通过网络实际执行提取并不是您真正要测试的内容。您只想测试您对返回数据的解析。

    解决此问题的一种方法是使用存根框架,例如 OHHTTPStubsNocilla

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

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

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

    【讨论】:

    • 谢谢。实际上我想测试完整的过程,因为服务的响应取决于我发送给他们的数据
    • 这是您可以在测试中设置的其他内容。如果您正在测试服务器针对给定参数发送给您的响应,那么这是对服务器的测试,而不是您想要的单元测试
    • 是的,你说得对,我想要的更多的是集成测试……你推荐哪些框架?
    • 要么。我过去使用过 OHHTTPStubs。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2011-04-26
    • 2018-06-03
    • 2018-10-07
    相关资源
    最近更新 更多