界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

api-smoke-testing

api-smoke-testing

【开发与工程】Start the dev server, discover API routes from the codebase, hit every endpoint, and report which ones return errors.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: api-smoke-testing description: Start the dev server, discover API routes from the codebase, hit every endpoint, and report which ones return errors. user-invocable: true

API Smoke Testing

Verify all API endpoints return healthy responses by combining codebase analysis with HTTP requests.

Workflow

1. Discover Routes

Search the codebase for API route definitions:

Next.js (App Router): app/api/**/route.ts Next.js (Pages Router): pages/api/**/*.ts Express: Look for app.get(, app.post(, router.get(, etc. Django: Look for urlpatterns in urls.py FastAPI: Look for @app.get(, @app.post(, decorators Rails: Look for routes.rb

Build a list of endpoints with their HTTP methods.

2. Ensure Server is Running

Check terminal files for a running dev server. If none found, start one.

3. Hit Every Endpoint

For each route:

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

For endpoints that require a body (POST/PUT/PATCH), send a minimal valid JSON:

curl -s -o /dev/null -w "%{http_code}" -X POST http://localhost:<PORT><PATH> \
  -H "Content-Type: application/json" \
  -d '{}'

4. Classify Results

StatusMeaning
200-299OK
301/302Redirect (OK)
400Bad request (expected for empty POST bodies)
401/403Auth required (expected for protected routes)
404Route not found (BUG — route exists in code but not served)
500Server error (BUG)
000/timeoutServer not responding (BUG)

5. Report

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. Fix Errors

For 500 errors, read the terminal output for the stack trace and fix the root cause. For 404s, check that the route file is in the correct location and properly exported.

我的收藏