关于 api-smoke-testing
面向开发者的 API 测试技能,可发现代码中的路由并逐一发送 HTTP 请求、分类响应结果,并指导修复错误。
主要功能
- 01发现路由及 HTTP 方法
- 02通过 HTTP 请求测试端点
- 03分类响应状态码
- 04报告故障并指导修复
适用场景
- 01开发期间对 API 端点进行冒烟测试
- 02查找返回 404 或 500 的路由
- 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