SuperAPI AI 工具集

api-smoke-testing

测试与质量

查看项目

更新于 10-16 02:10

技能介绍

API Smoke Testing 是一个用于验证 API 端点健康状态的技能,通过结合代码库分析与 HTTP 请求,检查所有 API 端点是否返回正常响应。

用途 在开发过程中快速验证 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 方法。
  1. 确保服务器运行 检查终端文件是否存在正在运行的开发服务器,若没有则启动一个。

  2. 请求每个端点 对每个路由执行: 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 '{}'

  3. 分类结果

  • 200-299:正常
  • 301/302:重定向(正常)
  • 400:错误请求(空 POST 请求体属预期)
  • 401/403:需要认证(受保护路由属预期)
  • 404:路由未找到(BUG,代码中存在但未被服务)
  • 500:服务器错误(BUG)
  • 000/超时:服务器无响应(BUG)
  1. 报告 输出测试结果,包含测试端点数、通过数、需要认证的端点及错误列表。示例: 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)

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

适用场景 在本地开发环境中快速定位 API 故障,尤其适合包含大量端点的项目做回归检查。

限制 关于收费、价格、平台支持范围等信息,资料中暂未提供。