在Swift中测试网络层-第2部分
使用XCTest框架编写单元测试用例
在上一篇文章中,我们讨论了如何编写可测试网络层。
在本文中,我们将讨论如何为该网络层编写单元测试。 基本上,要执行单元测试,我们必须知道给定输入的预期输出。
请记住,我们从来没有真正在物理服务器上运行过测试,因此我们无法测试所有可能的情况。
对于每个APIHandler,我们都有两种方法来执行测试,如第1部分所述 。
func makeRequest(来自参数:[String: Any ])->请求
func parseResponse(data:Data) 抛出 -> LoginResponse
测试API请求:
对于LoginAPI ,我们可以通过检查所有请求参数(例如http方法,http正文,url,标头字段等)来确认请求已正确准备。
测试API响应:
响应可能是成功,也可能是服务器返回的错误。
对于LoginAPI ,以下是成功响应测试用例。
我们可以如下测试服务器错误,例如状态203、400等,它们将返回ServiceError对象。
- PFFVideosUtilslogin后台无法将值转换为PFUserResultBlock
- iOS上的IBDesignable自定义垂直滑块
- 使用字典快捷方式发布参数
- 迅速
- 不能分配types的值(string!,Bool,!,NSError!) – >无效的值typesUIActivityViewControllerCompletionWithItemsHandler?
- 让我们快速了解分组通知-iOS 12
- 将iOS和Mac异步和相关任务封装到Cocoa Operation子类中
- iOS10 iMessage:无法使用MSConversation将数据插入到iMessage中
- 什么是声明`typedef SomeClass <SomeProtocol> MyType`的Swift等价物?