在Swift中测试网络层-第2部分

使用XCTest框架编写单元测试用例

在上一篇文章中,我们讨论了如何编写可测试网络层。

在本文中,我们将讨论如何为该网络层编写单元测试。 基本上,要执行单元测试,我们必须知道给定输入的预期输出。

请记住,我们从来没有真正在物理服务器上运行过测试,因此我们无法测试所有可能的情况。

对于每个APIHandler,我们都有两种方法来执行测试,如第1部分所述

  func makeRequest(来自参数:[String: Any ])->请求 
  func parseResponse(data:Data) 抛出 -> LoginResponse 

测试API请求:

对于LoginAPI ,我们可以通过检查所有请求参数(例如http方法,http正文,url,标头字段等)来确认请求已正确准备

测试API响应:

响应可能是成功,也可能是服务器返回的错误。

对于LoginAPI ,以下是成功响应测试用例。

我们可以如下测试服务器错误,例如状态203、400等,它们将返回ServiceError对象。