mcpField
A
api-smoke-testing

api-smoke-testing

github.com/revitalb-portテスト・品質065 回インストール10 週間前に更新
リポジトリ

api-smoke-testing について

開発者向けの API テストスキルです。コードからルートを見つけ、各エンドポイントに HTTP リクエストを送り、応答を分類してエラーの修正を支援します。

主な機能

  1. 01ルートと HTTP メソッドの検出
  2. 02HTTP リクエストによるエンドポイント検査
  3. 03応答ステータスコードの分類
  4. 04障害の報告と修正の案内

活用シーン

  1. 01開発中の API エンドポイントのスモークテスト
  2. 02404 または 500 を返すルートの特定
  3. 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-299OK
301/302リダイレクト(OK)
400不正なリクエスト(空の POST ボディの場合は想定どおり)
401/403認証が必要(保護されたルートの場合は想定どおり)
404ルートが見つかりません(BUG — ルートはコード内に存在しますが、提供されていません)
500サーバーエラー(BUG)
000/タイムアウトサーバーが応答していません(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 の場合は、ルートファイルが正しい場所にあり、適切にエクスポートされていることを確認します。

コメント