Gia*_*nio 4 java testing tdd microservices pact
我开始使用 Pact(在 Java 上)进行合约测试。
我已经阅读了关于 Pact 最佳实践的合同测试与功能测试,但我有点困惑。
示例:创建资源 (POST) 的简单 REST 端点,如果成功则返回 201 Created,如果语法验证错误则返回 400 Bad Request。请求正文类似于:
{
"firstname" : "Foo",
"lastname" : "Bar"
}
Run Code Online (Sandbox Code Playgroud)
和firstname都lastname不能为空。据我了解,我可以在这里编写 3 个场景,其中提供者应返回 400 Bad Request:
firstname为空,lastname不为空firstname不是空白,lastname是空白firstname并且lastname都是空白的问题是,如果仅定义了“快乐路径协议”,模拟服务器将返回 500 内部服务器错误,如果我想让它返回 400 错误请求,我必须编写所有可能的协议。此外,如果我添加具有相同验证规则的其他字段,协议的数量就会激增。
谢谢。
当我\xe2\x80\x99m 为 a 建立合同时POST,我关心服务器接受有效输入以及服务器响应(通常400)错误输入的方式。\xe2\x80\x99s 不需要针对输入可能无效的所有可能方式签订合同,主要是因为这种情况可能因无数原因而发生。
因此,从消费者的角度来看,我通常只对无效输入进行一次交互,除非我\xe2\x80\x99m面临一种非常特殊的情况,其中服务器可能会根据失败的原因做出不同的响应,并且我关心不同的反应。
\n根据您的具体情况,仅针对上述三种情况之一编写合同。
\n| 归档时间: |
|
| 查看次数: |
2024 次 |
| 最近记录: |