我开始使用 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 错误请求,我必须编写所有可能的协议。此外,如果我添加具有相同验证规则的其他字段,协议的数量就会激增。
谢谢。