API 契约测试(免费版)
输入
| 字段 | 必填 | 说明 |
|---|---|---|
| 实际响应 actual | 是 | 接口返回的 JSON |
| 期望契约 expected | 是 | 字段名:类型(string/integer/boolean/array/object),嵌套用对象 |
输出
问题清单(缺字段/类型不符/多余字段) + 契约是否通过
工作流
- 逐字段比对:契约有、响应无=missing;同名类型不同=type_mismatch;响应多出=extra。
- 嵌套对象递归比对。
- missing/type_mismatch 判失败(破坏性);extra 属向后兼容新增,不阻断。
硬性规则
- 布尔与数字严格区分(boolean≠integer)。
- 只依据输入的实际响应与契约判定,不臆测字段含义。
- 多余字段只告警不判失败,鼓励向后兼容演进。
示例
契约{{id:integer,name:string}},响应缺id→missing→失败
响应多了remark(string)→extra→仍通过
name给了数字→type_mismatch→失败