REST API 的验收测试 - 我应该处理所有情况吗?
Posted
技术标签:
【中文标题】REST API 的验收测试 - 我应该处理所有情况吗?【英文标题】:Acceptance tests for REST API - Shoud I deal with all cases? 【发布时间】:2019-02-13 12:15:14 【问题描述】:我们的团队正在为我们的项目进行 ATDD(验收测试驱动开发)。
我有一个问题。
我编写如下 API 测试。
1) 创建固定装置
2) 将标头、查询、路径、正文发送到端点。
3) 断言状态码、正文等的响应
问题来了!
我应该在验收测试中为异常情况(如无效的正文字段和值组合)编写所有测试用例吗?
例如,POST /users
接收像 name: "steve", age: 27, account: "test", password: "test1234"
这样的正文
您是否为所有身体输入组合编写测试用例? (如果name
为空,返回400 /如果name
太短,返回400 /如果age
不是数字,返回400 /如果密码不包含数字,返回400等等)
案例太多了:(
如果你不这样做,你能和我分享一下你是如何处理这个问题的吗?
【问题讨论】:
【参考方案1】:您确实需要涵盖这些情况,但您不想在高层次上涵盖所有情况。为了编写快速且可维护的测试,您需要遵循 test pyramid 编写大量低级(单元)测试和少量高级(系统)测试。
因此,您要做的是检查单元测试中的所有验证规则(针对每个字段),然后为每个端点仅创建 1 个高级否定测试以检查验证是否被调用,并且错误格式正确。
【讨论】:
以上是关于REST API 的验收测试 - 我应该处理所有情况吗?的主要内容,如果未能解决你的问题,请参考以下文章