testing-api について
REST、GraphQL、gRPC などの API をテストするスキルです。開発者がスキーマ、認証、エラー、レート制限、サービス間の契約を検証できます。
主な機能
- 01HTTP エンドポイントのテスト
- 02リクエストとレスポンスのスキーマ検証
- 03OAuth、JWT、API キーの確認
- 04エラーとステータスコードの検証
- 05レート制限とスロットリングの確認
- 06OpenAPI 契約テスト
活用シーン
- 01開発中の API 動作検証
- 02認証と認可の確認
- 03エラー応答とクォータの検証
- 04サービス契約と互換性のテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wojons/ skills --skill testing-apiインストール後、Claude Code で/testing-apiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/README.mdscripts/example.sh詳細
API テスト
REST、GraphQL、gRPC、その他の API エンドポイントの機能、パフォーマンス、信頼性をテストします。
使用する場面
以下の場合に、このスキルを使用します。
- API サービスを開発または利用するとき
- API コントラクトとスキーマをテストするとき
- リクエスト/レスポンス形式を検証するとき
- 認証と認可をテストするとき
- レート制限とクォータを確認するとき
- エラーレスポンスとステータスコードを検証するとき
- サービス間のコントラクトテストを実施するとき
実行内容
- さまざまな HTTP メソッドで API エンドポイントをテストします
- リクエスト/レスポンスのスキーマと形式を検証します
- 認証メカニズム(OAuth、JWT、API キー)をテストします
- エラー処理とステータスコードを検証します
- レート制限とスロットリングの動作を確認します
- ペイロードの検証とエラーメッセージをテストします
- OpenAPI/Swagger を使用してコントラクトテストを実施します
- API のバージョン管理と後方互換性をテストします
例
# Test APIs with common tools
npx newman run collection.json # Postman collections
curl -X GET https://api.example.com/users
http GET https://api.example.com/users Authorization:"Bearer token"
# Run API tests with frameworks
npm run test:api # Supertest, Jest
pytest tests/api/ # Python requests/pytest
go test ./api/ # Go httptest
# Test with schema validation
npx ajv validate -s schema.json -d data.json
openapi-test --spec openapi.yaml --base-url https://api.example.com
# Load test APIs
npx autocannon -c 10 -d 30 https://api.example.com/users
wrk -t2 -c100 -d30s https://api.example.com/users
出力形式
API Test Results:
──────────────────────────────
✅ GET /api/users
✓ Returns 200 OK
✓ Returns JSON array
✓ Includes pagination headers
✓ Respects limit parameter
❌ POST /api/users
✗ Missing required fields returns 400
Expected: {"error": "Missing email"}
Received: {"error": "Validation failed"}
⚠️ PUT /api/users/{id}
⚠️ Authentication required but not tested
Authentication Tests:
✓ Valid token returns 200
✗ Invalid token returns 401 (should return 403)
Summary: 15 endpoints tested, 12 passed, 2 failed, 1 skipped
注意事項
- エンドポイントがサポートするすべての HTTP メソッドをテストしてください
- OpenAPI 仕様に照らしてレスポンススキーマを検証してください
- 空の配列、null 値、大きなペイロードなどのエッジケースをテストしてください
- 該当する場合は CORS ヘッダーを検証してください
- 認証フローを十分にテストしてください
- マイクロサービスではコントラクトテストの実施を検討してください
- API の応答時間とレイテンシを監視してください
コメント
Markdown 対応