mcpField
A
api-test-pytest

api-test-pytest

github.com/naodengテスト・品質28588 回インストール今日更新
リポジトリ

api-test-pytest について

Pythonプロジェクトやpytest自動化向けのAPIテストスキルです。既知の項目だけでスモークテストのアサーションを生成し、必須情報が欠ける場合は失敗成果物を作成して非ゼロ終了し、誤った成功を防ぎます。

主な機能

  1. 01pytest向けAPIテスト構成の作成
  2. 02既知の項目だけに基づくスモークアサーション
  3. 03エンドポイントと期待ステータスの必須化
  4. 04期待JSONと応答時間上限への対応
  5. 05入力不足時の失敗成果物の作成

活用シーン

  1. 01APIテスト結果のpytest自動化
  2. 02既知のエンドポイントのステータス確認
  3. 03期待データや応答時間制約の検証
  4. 04未解決の入力による誤った成功の防止

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/naodeng/awesome-qa-skills --skill api-test-pytest

インストール後、Claude Code で/api-test-pytestを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
agents/
openai.yaml
evals/
eval.yaml
evals/cases/
basic-success.yaml
edge-bad-or-neighbor.yaml
edge-incomplete-input.yaml
review-repair-regression.yaml
evals/fixtures/
openapi-orders.yaml
sample-curls.sh
evals/graders/
review-repair-regression.py
examples/
sample.curl
sample.insomnia.json
sample.openapi.yaml
sample.opencollection.json
sample.postman_collection.json
sample.wsdl
examples/bruno/
sample.bru
examples/ci/
github-actions-pytest.yml
Jenkinsfile.pytest
output-templates/
template-markdown.md
prompts/
api-test-pytest.md
references/
framework-spec.md
generator-contract.md
report-schema.md
setup-and-ci.md
references/local/
api-testing.md
scripts/
api_case_contract.py
generate_pytest_tests.py
parse_api_sources.py
run.sh

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

api-test-pytest(EN)

中国語版: 対応する中国語スキルを参照してください。

使用する場面

  • API の出力を pytest ベースの自動化に取り込みたい場合。
  • プロジェクトがすでに Python を中心としている場合、または pytest 形式の構成にしたい場合。

生成と実行の境界

ジェネレーターが生成するのは、既知のフィールドに対するスモークアサーションのみです。空でないエンドポイントと明示的な expected_statuses が必要です。expected_json と、ソースが示された max_response_ms は任意です。データの不足、未解決のパラメーターや変数、またはスキーマアサーションがある場合は、不完全なひな形が生成され、ゼロ以外の終了コードが返されます。references/generator-contract.md を読み、対象と認証情報を明示的に設定してください。

ワークフロー

  1. Progressive disclosure に記載されたメインプロンプト(カバレッジ、構成、品質基準)を読み、それに従います。
  2. 結果に影響するプロジェクトのコンテキストのみを追加します。スコープ、環境、制約、リスク、依存関係、成果物などです。
  3. 入力が不完全な場合は、実用的な初稿を提示し、前提と不足情報を明示します。
  4. 既定では Markdown を使用し、ユーザーから求められた場合のみ形式を切り替えます。

主な制約

  • リスクやビジネスへの影響を基準に優先順位を付けます。すべてを同等に扱わないでください。
  • 確認済みの事実と現在の前提を分けます。
  • ユーザーから提供されていないエンドポイント、フィールド、環境、根本原因を捏造しないでください。
  • 認証情報やシークレットにはプレースホルダーまたは環境変数の形式を使用し、実際の認証情報をハードコードしないでください。
  • 出力は実行可能なものにします。具体的なシナリオ、明確な優先順位、明確な次の手順を示してください。

段階的な情報開示

  • 出力を作成する前に、prompts/api-test-pytest.md を読み、それに従います(最低限のカバレッジ、出力構成、品質基準)。
  • 既成のテンプレートが適している場合は、output-templates/ 内の対応するファイルを使用します。
  • ユーザーが例や既存のアセットとの整合性を求めている場合は、関連する examples/ を読みます。
  • フレームワーク、トラブルシューティング、スキーマに関する詳細な説明が必要な場合は、references/ 内の関連ファイルのみを読み、ディレクトリ全体を読み込まないでください。
  • 形式変換や補助チェックには、一から作り直すのではなく、既存の scripts/ を優先して使用します。
  • このスキルの評価や回帰テストには、skill-up と evals/ を使用します。

提供前のチェックリスト

  • メインプロンプトの出力構成に従った
  • 最低限のカバレッジに注力した:モジュール構成、フィクスチャー戦略、認証の処理、優先度の高いエンドポイント、正常系シナリオ、異常系および境界値シナリオ、アサーションの焦点、テストデータ戦略など(詳細はメインプロンプトを参照)
  • 最低限のチェックリストを網羅した、または省略した項目について説明した
  • リスクの高い項目に明確な優先順位を付けた
  • ユーザーから提供されていない詳細を捏造していない
  • 前提と不足情報を明示した

よくある落とし穴

  • スコープやコンテキストが不足しているのに、完全な内容であるかのように装わないでください。
  • すべての項目を同等に重要なものとして扱わないでください。
  • 前提や情報の不足を省略しないでください。
  • 現在のツールチェーンに関係のない一般論を大量に記載しないでください。

コメント