mcpField
A
api-smoke-testing

api-smoke-testing

github.com/revitalb-port测试与质量065 次安装10 周前更新
代码仓库

关于 api-smoke-testing

面向开发者的 API 测试技能,可发现代码中的路由并逐一发送 HTTP 请求、分类响应结果,并指导修复错误。

主要功能

  1. 01发现路由及 HTTP 方法
  2. 02通过 HTTP 请求测试端点
  3. 03分类响应状态码
  4. 04报告故障并指导修复

适用场景

  1. 01开发期间对 API 端点进行冒烟测试
  2. 02查找返回 404 或 500 的路由
  3. 03检查受保护端点及预期响应

安装

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

$npx skills add https://github.com/revitalb-port/skills-registry-demo --skill api-smoke-testing

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

详细介绍

API 冒烟测试

结合代码库分析与 HTTP 请求,验证所有 API 端点是否都能正常响应。

工作流

1. 查找路由

在代码库中搜索 API 路由定义:

Next.js(App Router): app/api/**/route.ts Next.js(Pages Router): pages/api/**/*.ts Express: 查找 app.get(、app.post(、router.get( 等 Django: 查找 urls.py 中的 urlpatterns FastAPI: 查找 @app.get(、@app.post( 等装饰器 Rails: 查找 routes.rb

列出端点及其 HTTP 方法。

2. 确保服务正在运行

检查终端文件,确认开发服务是否正在运行。如果没有,则启动服务。

3. 访问每个端点

针对每条路由:

curl -s -o /dev/null -w "%{http_code}" -X <METHOD> http://localhost:<PORT><PATH>

对于需要请求体的端点(POST/PUT/PATCH),发送最精简的有效 JSON:

curl -s -o /dev/null -w "%{http_code}" -X POST http://localhost:<PORT><PATH> \
  -H "Content-Type: application/json" \
  -d '{}'
4. 对结果分类
状态含义
200-299正常
301/302重定向(正常)
400错误请求(空的 POST 请求体可能导致此情况)
401/403需要身份验证(受保护路由的预期结果)
404找不到路由(BUG — 代码中存在该路由,但服务未提供)
500服务端错误(BUG)
000/timeout服务无响应(BUG)
5. 报告
API Smoke Test Results:
  Tested: 15 endpoints
  Passed: 12
  Auth required: 2 (GET /api/user, POST /api/settings)
  Errors:
    500 — POST /api/webhooks/stripe (TypeError: Cannot read property 'id' of undefined)
    404 — GET /api/v2/health (route defined but not mounted)
6. 修复错误

对于 500 错误,查看终端输出中的堆栈跟踪并修复根本原因。对于 404,检查路由文件是否位于正确位置并已正确导出。

评论

支持 Markdown