构建 REST API 客户端命令行应用:从本地测试到集成测试
1. 本地测试 HTTP 请求
在开发 REST API 客户端应用时,之前添加的测试主要关注从 REST API 获取的响应。对于列表和查看命令,请求相对响应来说不那么复杂,这种测试方式是可行的。但对于添加命令,情况则相反,其响应简单,只有状态而无主体,然而请求却包含更多细节,如 JSON 有效负载和额外的头部信息。我们需要确保应用发送的请求有效,以保证其正常工作。
如果直接连接到实际的 API 服务器进行测试,若请求无效,服务器会抛出错误。但使用模拟 HTTP 服务器进行本地测试时,服务器不会验证请求内容。模拟 HTTP 服务器接受一个函数作为输入,我们可以利用 Go 的函数特性和闭包概念,在实例化新的测试服务器时,将所需的检查包含在函数中。
以下是具体操作步骤:
1. 编辑 cmd/mock_test.go 文件 :将添加操作的模拟响应添加到 testResp 映射中。
// apis/todoClient.v2/cmd/mock_test.go
"notFound": {
Status: http.StatusNotFound,
Body: "404 - not found",
},
"created": {
Status: http.StatusCreated,
Body: "",
},
- 编辑 <
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



