技术与测试 深入了解 B · 官方指南或术语 平台: 通用

Contract Testing

契约测试

契约测试会检查两个可分开部署的系统,是否仍按照双方约定的格式交换消息。

看看怎样运作
也有人这样说 Contract Testing契约测试

看看怎样运作

原创情境示例契约测试

另一个例子

客户端预期 GET /profiles/42 会返回特定字段和状态。持续集成(CI)会检查服务提供方是否遵守约定;这项测试不能证明完整流程或生产环境的数据质量。

主要部分

  1. 01消费者契约
  2. 02提供者验证
  3. 03兼容性结果

什么时候用

服务可以各自部署,而且要在不启动整套系统的情况下检查消息兼容性时,可以使用这个词。

什么时候不要用

不要让契约照搬服务提供方的内部代码,也不要用契约测试代替 API 安全测试。

代码里的名称

consumer expectation ↔ provider verification

上线前要检查

检查环境与预先准备的测试数据。定义看得到的预期结果、失败与边界案例。也要定义隔离方式、固定输入、排错信息与清理流程。设置执行时间预算、负责人及不稳定测试的处理规则。

可以直接复制的需求

预期结果:用 契约测试 (Contract Testing) 收集可重复验证这项行为或质量风险的证据。 用户场景:客户端预期 GET /profiles/42 会返回特定字段和状态。持续集成(CI)会检查服务提供方是否遵守约定;这项测试不能证明完整流程或生产环境的数据质量。 验证方式:契约测试 (Contract Testing)。 适用理由:服务可以各自部署,而且要在不启动整套系统的情况下检查消息兼容性时,可以使用这个词。 不应使用的情况:不要让契约照搬服务提供方的内部代码,也不要用契约测试代替 API 安全测试。 测试要求:说明要测的系统与环境。定义预先准备的测试数据(Fixture)、其他输入,以及看得到的预期结果。加入预期失败、边界案例、容差、隔离方式及清理流程。 测试维护:让失败原因容易查找,并控制随机或会变化的输入。指定负责人。测试速度与维护成本要符合发布前检查的需要。 验收标准:已知缺陷存在时测试会失败,修复后通过。测试能在目标环境重复执行,提供可采取行动的证据,且不泄露或改动无关数据。 证据与限制(证据边界):它只代表该来源的官方说法。其他平台或团队可能有不同用法。 待确认:发布前必过的检查、环境、测试数据、容差、执行时间预算、负责人,以及不稳定测试的处理规则。

检查这份需求

请 AI 编程助手检查当前如何使用 契约测试 (Contract Testing)。 定义:契约测试会检查两个可分开部署的系统,是否仍按照双方约定的格式交换消息。 生产环境检查:检查环境与预先准备的测试数据。定义看得到的预期结果、失败与边界案例。也要定义隔离方式、固定输入、排错信息与清理流程。设置执行时间预算、负责人及不稳定测试的处理规则。 修改程序前,先列出看到的证据、缺口、严重程度,以及最小且安全的修正。

B
这个术语有多正式?

官方指南或术语

列出的平台、框架、项目或专业组织,发布了这个术语的官方指南。

它只代表该来源的官方说法。其他平台或团队可能有不同用法。

适用范围
只包含来源有说明的内容:正式名称、定义、平台 API、实现、使用指南
文档状态
稳定
核验日期
2026-07-30

证据来源与适用范围

正式来源 + 术语参考资料 · Pact · 稳定 Pact Documentation 适用范围: 正式名称、定义、平台 API、实现、使用指南 本页用途: 直接术语参考 来源涵盖内容: 正式名称, 定义, 平台 API, 实现, 使用指南

自行复制

浏览器无法自动复制。请选择下方文字,再自行复制。