契约测试

用契约测试验证提供方与消费方对接口的约定:消费方定义期望并生成契约,提供方在流水线中执行验证,提前发现不兼容变更。

流程

流程
1. 消费方编写期望(请求→匹配规则→期望响应)
2. 生成契约文件,进版本库
3. 提供方流水线执行契约验证
4. 不兼容变更在合并前失败并阻止发布

契约测试与相邻手段

手段验证内容不覆盖
契约测试请求响应约定与兼容性业务流程与真实数据链路
端到端测试核心链路贯通全部分支与边界条件
单元测试内部逻辑正确性跨系统交互
契约测试不能替代端到端测试:它验证约定,不验证业务流程与真实数据链路。

易错点

  • 只有提供方文档没有消费方期望,兼容性无覆盖
  • 契约用例长期不更新,与实际调用脱节

数据来源与参考

  • Pact 官方文档(docs.pact.io)
  • 《Building Microservices(第 2 版)》(Newman)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌