write-python-tests について
write-python-testsは、プロジェクトのソースコードや既存の慣例に沿ってPythonテストを作成するスキルです。テスト形式の選択、境界条件の確認、pytest・nox・miseによる対象を絞った検証を案内します。
主な機能
- 01プロジェクトのテスト慣例を確認
- 02doctestか専用テストかを選択
- 03境界条件と失敗を網羅
- 04対象を絞ってpytestを実行
- 05noxとmiseで検証
活用シーン
- 01非公開の動作にテストを追加
- 02無効な入力や回帰をテスト
- 03限定的なPython変更を検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ liblaf/ skills --skill write-python-testsインストール後、Claude Code で/write-python-testsを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Python テストの作成
ガイドライン
- ソースコードを正とします。
- 編集する前に、
pyproject.toml、noxfile.py、.config/mise/、近くにあるテスト、tests/conftest.pyを確認してください。 - 簡潔で、決定的で、ユーザー向けであり、例として役立つケースでは、公開 docstring 内の doctest を優先してください。
- 内部の動作、長いセットアップ、フィクスチャ、パラメーター化されたテストの組み合わせ、モンキーパッチ、オプションの依存関係、警告、例外、回帰、不安定な出力には、
tests/を使用してください。 - 成功パス、境界値、無効な入力、想定される失敗、回帰を、観測可能なアサーションでカバーしてください。
- 専用のテストファイルは、分類ごとにまとめ、小規模で焦点を絞ってください。専用テストで追加のリスクをカバーしない限り、doctest の重複は避けてください。
- 既存のドキュメント、docstring、テスト、例は、確実性の低いヒントとして扱ってください。
検証
- 最も対象を絞ったテストから始めてください。
- 対象を絞ったテストと doctest には、
uv run pytest ...を実行してください。 - テストマトリックス全体には、
uv run noxを実行してください。 mise run lintを実行してください。より狭い範囲の lint のほうが安全な場合は、mise run lint:pythonを実行してください。- 無関係な lint や環境の問題は変更とは分けて扱い、黙って回避せず、その旨を報告してください。
コメント
Markdown 対応