【发布时间】:2022-02-16 10:45:13
【问题描述】:
假设我有这样的东西
import Alamofire
class NetworkStuff {
func getSomething() async throws -> String {
let params: [String: String] = ["Key": "Value"]
let value = AF.request("https://myapi.com/endpoint", method: .post, parameters: params, encoder: JSONParameterEncoder.default)
.validate()
.responseDecodable([String: String].self).value("KeyIWant")
guard let result = value else {throw MyError.SomeError }
return result
}
}
我将如何编写一个单元测试来验证这个请求是正确的并且我正在解码响应。 假设我们将其发送到服务器:
{
"RequestItem": "Value"
}
假设来自服务器的响应如下所示:
{
"ID": "1234",
"KeyIWant": "Value02"
}
我如何编写测试以确保我的 POST 参数按照服务器的预期正确构建,然后模拟响应以确保我正确解析它以获得我想要的值?
【问题讨论】:
标签: swift unit-testing async-await