小编Gia*_*nio的帖子

如何以及是否使用 Pact 测试语法(错误请求)验证?

我开始使用 Pact(在 Java 上)进行合约测试。

我已经阅读了关于 Pact 最佳实践的合同测试与功能测试,但我有点困惑。

示例:创建资源 (POST) 的简单 REST 端点,如果成功则返回 201 Created,如果语法验证错误则返回 400 Bad Request。请求正文类似于:

{
    "firstname" : "Foo",
    "lastname" : "Bar"
}
Run Code Online (Sandbox Code Playgroud)

firstnamelastname不能为空。据我了解,我可以在这里编写 3 个场景,其中提供者应返回 400 Bad Request:

  1. firstname,lastname不为空
  2. firstname不是空白,lastname空白
  3. firstname并且lastname都是空白

问题是,如果仅定义了“快乐路径协议”,模拟服务器将返回 500 内部服务器错误,如果我想让它返回 400 错误请求,我必须编写所有可能的协议。此外,如果我添加具有相同验证规则的其他字段,协议的数量就会激增。

  • 首先,我应该在我的消费者身上测试这些场景吗?
  • 如果是,是否存在任何智能方法来使用 Pact DSL 来实现它?

谢谢。

java testing tdd microservices pact

4
推荐指数
1
解决办法
2024
查看次数

标签 统计

java ×1

microservices ×1

pact ×1

tdd ×1

testing ×1