SuperAPI AI 工具集

contract-testing

测试与质量

查看项目

更新于 10-16 06:05

技能介绍

用途

该技能用于在前端与后端 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 或规则页面。