【问题标题】:How to test a cocoa touch app for the case when the network fails while downloading a file?如何测试可可触摸应用程序下载文件时网络失败的情况?
【发布时间】:2011-01-29 13:45:21
【问题描述】:

我的 iOS 应用程序的功能之一是从特定服务器下载文件。当用户在应用程序上工作时,此下载完全在后台进行。下载完成后,与文件关联的资源会出现在应用屏幕上。

我的用户报告了一些我无法重现的丢失资源的不当行为。一些附带信息使我怀疑问题是由于下载资源文件中途中止引起的。然后应用程序有一个部分下载的文件永远不会完成。

为了确认假设,确保任何修复工作,并测试这种随机网络消失在我脚下,我想在我的测试环境中模拟网络丢失:测试服务器是我的网络共享开发Mac,测试设备是在同一台Mac上运行的iOS模拟器。

有没有比在断点处手动关闭网络共享更方便的方法?

【问题讨论】:

    标签: cocoa-touch testing networking


    【解决方案1】:

    根据您下载文件的方式,一种可能的选择是在下载过程中将回调委托设置为 null。它仍然会下载数据,但您的应用程序将停止接收回调。不过,我不知道如果应用程序真的断开了连接,它是否会这样运行。

    另一种选择是将下载请求临时指向外部网络服务器上的某个随机文件,然后在中途断开计算机与互联网的连接。我这样做是为了测试网络连接问题,它通常可以工作。您的案例中有趣的问题是您正在从自己的计算机上下载,因此断开连接无济于事。这只是为了让您可以在发生这种情况时确定应用程序中回调的顺序(它是否会进行任何回调?以什么顺序?)以便您可以在实际指向您的测试服务器时模拟该行为。

    我猜,将这两个选项结合起来,以获得最佳解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      相关资源
      最近更新 更多