最後更新:
Click to expand / collapse
在團隊或外部合作夥伴之間使用API時,查詢和響應格式保持可預測性尤為重要。合同測試允許您驗證雙方客戶機和服務器是否同意交換結構,並且不會在更新時違反該結構。
我們實施合同測試,在進入生產之前,自動驗證API是否符合文檔或消費者的期望。
API中的合同是什麼
合同是定義以下內容的協議:- 哪些字段包含查詢和響應
- 哪些數據格式是有效的
- 哪些狀態代碼返回
- 需要哪些強制性參數
違反合同=客戶或服務方面的潛在故障。
它是如何工作的?
| 一方 | 正在測試的內容 |
|---|---|
| 提供商(API) | API必須滿足客戶對響應結構的期望 |
| 客戶(消費者) | 客戶正在等待特定的方案-測試檢查是否已遵守 |
| Bidirectional | 雙向測試:客戶端和服務器都同意合同 |
使用的工具包括Pact,Spring Cloud Contract,Dredd,Postman Contract Tests。
合同測試的好處
在派遣前發現不一致之處
保護您免受破壞客戶的「安靜」變化
安全更新API版本
提高開發團隊之間的信任
記錄合同變更的歷史
我們如何實施
以OpenAPI/Pact格式定義合同
CI集成到每次模擬的自動測試運行
可視化和合同變更歷史
按環境劃分(staging/production)
為外部集成商發布合同
在哪裏,特別重要
分擔責任的微服務
具有外部B2B集成的平臺
多個獨立團隊在API上工作
錯誤無效的關鍵系統(金融、公共服務)