mcpField
T
testing-python

testing-python

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

testing-python について

Python 3.14+プロジェクト向けのテスト戦略スキルです。pytest、Ruff、mypy、Playwrightなどを使ったテストと品質確認の方法をまとめています。

主な機能

  1. 01pytestで単体テストと統合テストを実施
  2. 02Ruffでコードをチェックしてフォーマット
  3. 03厳格なmypyで型をチェック
  4. 04Playwright、Hypothesis、Mutmutを活用

活用シーン

  1. 01FastAPIまたはDjangoバックエンドのテストを作成
  2. 02CIでlint、フォーマット、型チェックを設定
  3. 03Playwrightでブラウザフローを検証
  4. 04プロパティテストとミューテーションテストで品質を評価

インストール

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

$npx skills add https://github.com/thebeardedbearsas/claude-craft --skill testing-python

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

同梱ファイルREFERENCE.md

詳細

Python 3.14+ のテスト戦略

バージョン: Python 3.14+ | pytest 9.x | Ruff 0.17+ | mypy 2.x | Playwright

Ruff は Black + isort + Flake8 を置き換えます(10〜100倍高速です)。mypy strict はコンパイル時に型のバグを排除します。

2026年の推奨スタック

種類ツール用途
単体/統合pytest 9.xFastAPI/Django のバックエンドテスト
リンティング+フォーマットRuff 0.17+Black+Flake8 より10〜100倍高速
型チェックmypy 2.x strict静的検証
E2E/ブラウザーPlaywrightWeb フロントエンドのテスト
BDD(Gherkin)pytest-bddGiven/When/Then シナリオ
ミューテーションMutmutテスト品質(スコア >= 80%)
プロパティベースHypothesisテストケースを自動生成

ソース: pytest、Ruff、Mutmut

妥協できない要件

  • カバレッジ >= 80%(pyproject.toml の --cov-fail-under=80)
  • mypy strict — 正当な理由のない Any はゼロ、disallow_untyped_defs = true
  • CI で Ruff を必須化(check + format)
  • 各テストで AAA パターン(Arrange-Act-Assert)を使用
  • 依存関係の注入には pytest のフィクスチャを使用(グローバル状態は使わない)
  • Mutmut によるミューテーションスコア >= 80%

種類別チェックリスト

種類確認事項
単体完全な分離、pytest のフィクスチャ、unittest.mock のモック
統合FastAPI の TestClient/Django の Client、テスト用 DB
E2EPlaywright sync_api、expect() アサーション
プロパティ自動的なエッジケース生成に Hypothesis の @given を使用
ミューテーションmutmut run、マージ前にスコア >= 80

詳細、コード例、設定、チェックリストについては、REFERENCE.md を参照してください。

コメント