Pact契约测试:让前后端联调少一点猜测

发表评论 1287 浏览量
目录:

Pact契约测试:让前后端联调少一点猜测

2023年11月记录,分类「接口测试」。这篇更像工作笔记,记录的是一次问题拆解和复用清单。

契约解决什么

前后端联调很多争议来自字段理解不一致。Pact 这类契约测试适合把消费者期望固定下来,让接口变化提前暴露。

对测试来说,最后要落到可复现、可验证、可交接,文章也是按这个思路写的。

怎么维护

  • 由消费方定义需要的字段、类型和状态码。
  • 服务方在 CI 中验证契约,避免字段变更悄悄上线。
  • 契约失败时先判断是合理变更还是兼容性问题。
provider.addInteraction({
  state: 'order exists',
  uponReceiving: 'get order detail',
  withRequest: { method: 'GET', path: '/orders/10001' }
});

失败处理

  • 契约覆盖核心字段而不是整个响应快照。
  • 新增字段不影响旧消费方。
  • 破坏性变更有版本策略。

落到团队协作里,重点是让新人能照着补用例,开发也能看懂为什么要改。

适用边界

契约测试不是替代接口测试,而是提前发现联调阶段最常见的认知偏差。等业务规则再稳定一点,可以把这里的检查点拆成参数化用例。