用途
该技能用于在前端与后端 API 边界实施消费者驱动的契约测试(Consumer-Driven Contract Testing)。它适用于以下场景:为前端-后端 API 边界设置集成测试、评估两个服务是否可以安全地独立部署,或替换脆弱的端到端测试。
主要能力
- 消费者(前端)编写测试,描述其对 API 的期望,即“契约”。
- 契约发布到 Pact Broker,并针对真实提供者(后端)进行验证。
- 破坏契约的提供者变更会在部署前导致 CI 失败。
- 替代需要两个服务同时运行的脆弱端到端测试。
- 提供检查(Check)、修复(Fix)、解释(Explain)和代码审查(Code Review)等操作。
使用方式
- 检查:检查前端是否具有定义并验证与后端 API 契约的消费者驱动契约测试。
- 修复:为前端 API 客户端添加 Pact 消费者测试,将契约发布到 broker,并在后端 CI 流水线中添加提供者验证。
- 解释:解释消费者驱动契约测试的工作原理、Pact 工作流的端到端流程,以及它与 mocking 和端到端测试的比较。
- 代码审查:审查 Pact 消费者测试,标记过于宽松的交互(消费者实际使用的字段上使用 any 类型匹配器)、缺失的状态码断言,以及消费者不再调用的端点的交互。
完整实现细节、代码示例和框架特定指南,请参见 references/rule.md。
规则页面:https://frontendchecklist.io/en/rules/testing/contract-testing
适用场景
- 前端与后端 API 边界的集成测试。
- 需要评估两个服务能否独立部署。
- 希望用契约测试替代缓慢、脆弱的端到端测试。
限制
关于具体框架支持、安装命令、代码示例等细节,资料中未提供,需参考 references/rule.md 或规则页面。