vli*_*lin 2 unit-testing ios nocilla swift alamofire
我正在使用Swift作为iOS应用程序,并使用Alamofire执行HTTP请求.
我想编写单元测试来覆盖我的功能,但是我无法将Alamofire执行的HTTP请求存根.我正在使用Nocilla(导入到桥接头)来尝试存根我的HTTP请求,但似乎我的HTTP请求的回调永远不会在测试中到达.
我想知道是否有人有任何成功在他们的测试套件中成功存储Alamofire的HTTP请求的经验?
谢谢!
我没有,但这是我用于单元测试HTTP请求(特别是调用REST API)的一般模式.我已经成功地将它用于Alamofire和AFNetworking.
Service)底层网络API(Alamofire,AFNetworking,或仅仅是纯iOS API)的类.Service通常是无状态的,负责为我的应用程序调用"更好".Service通常与我尝试使用的REST API密切相关.例如,如果我使用的是REST API,让我张贴到一个Person集合,我将有一个API一样Service.PostPerson,Service.GetPerson等等.Service并通常用于inversion of control创建Service.UnitTestService以便我的类最终使用实例UnitTestService而不是实例Service.UnitTestService通常会根据配置返回硬编码的JSON响应.所以在上面的例子中,我会有一个硬编码的JSON响应Service.PostPerson.我已经使用了许多技术来做到这一点:
ServiceProtocol兼顾Service和UnitTestService实施的协议Service用一组闭包实例化的单个.这些闭包可以完成实际工作,您可以提供不同的闭包,具体取决于您是连接到Internet还是模拟它.因为我有一些函数式编程背景,我喜欢后者.但这两种技术都有效.
| 归档时间: |
|
| 查看次数: |
2098 次 |
| 最近记录: |