关于 api-smoke-testing
api-smoke-testing 是一项通过分析代码库并发送 HTTP 请求来验证 API 端点的技能,适用于开发者。它覆盖路由发现、响应分类、结果报告及错误排查。
主要功能
- 01从代码库发现 API 路由
- 02检查开发服务器状态
- 03向端点发送 HTTP 请求
- 04按状态码分类响应
- 05汇总测试结果
- 06排查服务端错误与路由问题
适用场景
- 01验证开发环境中所有 API 端点
- 02查找未挂载或无法访问的路由
- 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