在团队或外部合作伙伴之间使用API时,查询和响应格式保持可预测性尤为重要。合同测试允许您验证双方(客户端和服务器)是否同意交换结构,并且在更新时不会违反该结构。
我们实施合同测试,在进入生产之前,自动验证API是否符合文档或消费者的期望。
API中的合同是什么
合同是定义以下内容的协议:- 哪些字段包含查询和响应
- 哪些数据格式是有效的
- 哪些状态代码返回
- 需要哪些强制性参数
违反合同=客户或服务方面的潜在故障。
它是如何工作的?
| 一方 | 正在测试的内容 |
|---|---|
| 提供商(API) | API必须满足客户对响应结构的期望 |
| 客户(消费者) | 客户正在等待特定的方案-测试检查是否已遵守 |
| Bidirectional | 双向测试:客户端和服务器都同意合同 |
使用的工具包括Pact,Spring Cloud Contract,Dredd,Postman Contract Tests。
合同测试的好处
在派遣前发现不一致之处- 保护您免受破坏客户的"安静"变化
- 安全更新API版本
- 提高开发团队之间的信任
- 记录合同变更的历史
我们如何实施
以OpenAPI/Pact格式定义合同- CI集成到每次模拟的自动测试运行
- 可视化和合同变更历史
- 按环境划分(staging/production)
- 为外部集成商发布合同
在哪里,特别重要
分担责任的微服务- 具有外部B2B集成的平台
- 多个独立团队在API上工作
- 错误无效的关键系统(金融、公共服务)
合同测试是服务器和客户端之间的可靠桥梁。我们将帮助构建一个过程,其中任何更新都不会破坏集成或带来意想不到的错误。
联系我们
请填写下方表格,我们会尽快回复您。