mcpField
A
api-smoke-testing

api-smoke-testing

github.com/spencerpauly测试与质量868503 次安装13 周前更新
代码仓库

关于 api-smoke-testing

api-smoke-testing 是一项通过分析代码库并发送 HTTP 请求来验证 API 端点的技能,适用于开发者。它覆盖路由发现、响应分类、结果报告及错误排查。

主要功能

  1. 01从代码库发现 API 路由
  2. 02检查开发服务器状态
  3. 03向端点发送 HTTP 请求
  4. 04按状态码分类响应
  5. 05汇总测试结果
  6. 06排查服务端错误与路由问题

适用场景

  1. 01验证开发环境中所有 API 端点
  2. 02查找未挂载或无法访问的路由
  3. 03区分认证要求与服务错误

安装

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

$npx skills add https://github.com/spencerpauly/awesome-cursor-skills --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