mcpField
A
acceptance-api

acceptance-api

github.com/jayden-dang测试与质量142 次安装4 天前更新
代码仓库

关于 acceptance-api

acceptance-api 是用于验证运行中服务 API 行为的技能,并将实测请求转为带需求标识的持久化测试。它涵盖服务启动、边界情况、数据持久性检查和故障修复。

主要功能

  1. 01启动服务并记录配置
  2. 02生成具体 API 请求
  3. 03断言状态码、响应体和副作用
  4. 04检查重新加载后的持久性
  5. 05将检查转为持久化测试

适用场景

  1. 01按验收标准验证变更的端点
  2. 02检查格式错误的输入和未知 ID
  3. 03确认数据在读取或重启后保留

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jayden-dang/skills --skill acceptance-api

安装后在 Claude Code 中输入/acceptance-api确认已加载。

详细介绍

验收 — API

像真实客户端那样测试正在运行的服务。单元测试会根据代码自身的假设通过;这一步验证的是实际的线缆行为——状态码、JSON 结构,以及重新加载后仍然存在的副作用。

由 acceptance-check 使用验收台账中的一部分条目调用;也可以针对 API 变更直接运行,此时应先根据变更的验收标准(规范或涉及的端点)制定检查清单。无论哪种情况,都按顺序逐项完成。

1. 启动服务,并记录启动方式

阅读 docs/agents/project.md,查找 Run locally (dev) 条目。如果存在,按其中的命令启动后端。如果不存在:从代码仓库中找出启动命令(Cargo 二进制目标 / tauri / package.json 脚本 / Makefile),启动服务并确认它能响应(通过健康检查路由,或发送第一条清单请求并确认收到任何响应),然后将启动命令和就绪信号写入 project.md 的 ## Run locally (dev) 部分。完成条件:服务能响应请求,且 project.md 中记录了启动命令。

前置条件——身份验证、数据、环境。 如果某个端点需要身份验证(令牌、预置的测试账号)、夹具/种子数据或环境配置(环境变量、测试数据库),请查明代码仓库如何提供这些内容,并将其与启动命令一起记录在 project.md 中。验收运行如果因 401 或数据库为空而停滞,测到的是测试框架,而不是功能——应解决前置条件并注明,而非将该条目标记为无法验证。

2. 将每条检查清单转化为真实请求

对于台账中的每个 API 条目,写出客户端实际发送的请求——方法、路径、标头、请求体——以及预期响应:状态码、请求体字段(名称、大小写、ID 类型)和任何副作用。明确覆盖边界条件:字段为空/仅含空白 → 文档规定的错误;未知 ID → 文档规定的状态码;请求体格式错误;重复调用。

3. 对运行中的服务执行测试

发送每条请求(使用 curl / http / 脚本),并验证完整预期,而不只是 2xx:状态码、请求体结构,以及——如果验收标准要求“持久化”——使用新的 GET 请求读取数据;如果要求“跨重启保持”,则重启服务后再次读取。对每个条目,在台账中记录实际结果与预期结果。完成条件:每个 API 条目都有实测结果。

4. 修复故障

必须使用 debug 子技能——失败的请求已经构成一个可重放的修复循环。修复根本原因、添加回归测试,并重新运行该条目。

5. 升级为持久化测试

将测试过的请求转化为已提交的测试,确保其会请求服务(或通过实际接缝调用处理程序),并按照 docs/agents/project.md 中的约定标注需求 ID,使其加入验证套件,在本次运行后继续守护该行为。完成条件:持久化测试已提交、带有标注且通过。

评论

支持 Markdown