api-test-pytest について
Pythonプロジェクトやpytest自動化向けのAPIテストスキルです。既知の項目だけでスモークテストのアサーションを生成し、必須情報が欠ける場合は失敗成果物を作成して非ゼロ終了し、誤った成功を防ぎます。
主な機能
- 01pytest向けAPIテスト構成の作成
- 02既知の項目だけに基づくスモークアサーション
- 03エンドポイントと期待ステータスの必須化
- 04期待JSONと応答時間上限への対応
- 05入力不足時の失敗成果物の作成
活用シーン
- 01APIテスト結果のpytest自動化
- 02既知のエンドポイントのステータス確認
- 03期待データや応答時間制約の検証
- 04未解決の入力による誤った成功の防止
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ naodeng/ awesome-qa-skills --skill api-test-pytestインストール後、Claude Code で/api-test-pytestを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdagents/openai.yamlevals/eval.yamlevals/cases/basic-success.yamledge-bad-or-neighbor.yamledge-incomplete-input.yamlreview-repair-regression.yamlevals/fixtures/openapi-orders.yamlsample-curls.shevals/graders/review-repair-regression.pyexamples/sample.curlsample.insomnia.jsonsample.openapi.yamlsample.opencollection.jsonsample.postman_collection.jsonsample.wsdlexamples/bruno/sample.bruexamples/ci/github-actions-pytest.ymlJenkinsfile.pytestoutput-templates/template-markdown.mdprompts/api-test-pytest.mdreferences/framework-spec.mdgenerator-contract.mdreport-schema.mdsetup-and-ci.mdreferences/local/api-testing.mdscripts/api_case_contract.pygenerate_pytest_tests.pyparse_api_sources.pyrun.sh詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
api-test-pytest(EN)
中国語版: 対応する中国語スキルを参照してください。
使用する場面
- API の出力を pytest ベースの自動化に取り込みたい場合。
- プロジェクトがすでに Python を中心としている場合、または pytest 形式の構成にしたい場合。
生成と実行の境界
ジェネレーターが生成するのは、既知のフィールドに対するスモークアサーションのみです。空でないエンドポイントと明示的な expected_statuses が必要です。expected_json と、ソースが示された max_response_ms は任意です。データの不足、未解決のパラメーターや変数、またはスキーマアサーションがある場合は、不完全なひな形が生成され、ゼロ以外の終了コードが返されます。references/generator-contract.md を読み、対象と認証情報を明示的に設定してください。
ワークフロー
- Progressive disclosure に記載されたメインプロンプト(カバレッジ、構成、品質基準)を読み、それに従います。
- 結果に影響するプロジェクトのコンテキストのみを追加します。スコープ、環境、制約、リスク、依存関係、成果物などです。
- 入力が不完全な場合は、実用的な初稿を提示し、前提と不足情報を明示します。
- 既定では Markdown を使用し、ユーザーから求められた場合のみ形式を切り替えます。
主な制約
- リスクやビジネスへの影響を基準に優先順位を付けます。すべてを同等に扱わないでください。
- 確認済みの事実と現在の前提を分けます。
- ユーザーから提供されていないエンドポイント、フィールド、環境、根本原因を捏造しないでください。
- 認証情報やシークレットにはプレースホルダーまたは環境変数の形式を使用し、実際の認証情報をハードコードしないでください。
- 出力は実行可能なものにします。具体的なシナリオ、明確な優先順位、明確な次の手順を示してください。
段階的な情報開示
- 出力を作成する前に、
prompts/api-test-pytest.mdを読み、それに従います(最低限のカバレッジ、出力構成、品質基準)。 - 既成のテンプレートが適している場合は、
output-templates/内の対応するファイルを使用します。 - ユーザーが例や既存のアセットとの整合性を求めている場合は、関連する
examples/を読みます。 - フレームワーク、トラブルシューティング、スキーマに関する詳細な説明が必要な場合は、
references/内の関連ファイルのみを読み、ディレクトリ全体を読み込まないでください。 - 形式変換や補助チェックには、一から作り直すのではなく、既存の
scripts/を優先して使用します。 - このスキルの評価や回帰テストには、skill-up と
evals/を使用します。
提供前のチェックリスト
- メインプロンプトの出力構成に従った
- 最低限のカバレッジに注力した:モジュール構成、フィクスチャー戦略、認証の処理、優先度の高いエンドポイント、正常系シナリオ、異常系および境界値シナリオ、アサーションの焦点、テストデータ戦略など(詳細はメインプロンプトを参照)
- 最低限のチェックリストを網羅した、または省略した項目について説明した
- リスクの高い項目に明確な優先順位を付けた
- ユーザーから提供されていない詳細を捏造していない
- 前提と不足情報を明示した
よくある落とし穴
- スコープやコンテキストが不足しているのに、完全な内容であるかのように装わないでください。
- すべての項目を同等に重要なものとして扱わないでください。
- 前提や情報の不足を省略しないでください。
- 現在のツールチェーンに関係のない一般論を大量に記載しないでください。
コメント
Markdown 対応