如何使用XCTest对脱机场景进行单元测试

时间:2015-08-06 18:12:00

标签: swift unit-testing nsurlconnection offline xctest

我尝试执行一组需要不同网络连接状态的单元测试。如何在使用XCTest(在Swift中)模拟离线iOS设备?

由于

2 个答案:

答案 0 :(得分:0)

解决此问题的方法不止一种。

Mocking / Stubbing就是其中之一,您可以使用像OCMock或OCMockito这样的模拟框架,强制该方法返回每次测试所需的内容。

替代的“经典”方法(我更喜欢)是实现一个存根/虚拟类,它与网络类共享相同的API,并再次返回每个测试所需的内容。

差异主要是philosophical nature

最重要的是,您需要一种方法来强制API返回您要测试的内容。

答案 1 :(得分:0)

为了获得真实的情况,例如丢包,延迟,您可以安装网络链接调节器(从Apple download center获取),但会影响您的电脑和模拟器。此外,您需要使用异步测试(check XCTestExpectation at this tutorial)才能等待响应或超时。

要进行快速简单的测试,您可以在iphone上运行单元测试,并将iphone简单设置为飞行模式。