mcpField
P
python-testing

python-testing

github.com/mindrallyテスト・品質2871.1k 回インストール3 週間前に更新
リポジトリ

python-testing について

pytest、ユニットテスト、テスト駆動開発を中心に扱う Python テストのスキルです。テスト設計、フィクスチャ、モック、統合テスト、プロパティベーステスト、カバレッジを案内します。

主な機能

  1. 01pytest のテスト構成とフィクスチャ
  2. 02パラメーター化された独立テスト
  3. 03ユニットテストと統合テスト
  4. 04外部依存のモック
  5. 05hypothesis によるプロパティテスト
  6. 06カバレッジの計画とレポート

活用シーン

  1. 01関数の動作に基づくユニットテストの作成
  2. 02境界条件や境界値のテスト
  3. 03API やデータベースとの連携確認
  4. 04不変条件を検証するプロパティテストの追加

インストール

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

$npx skills add https://github.com/mindrally/skills --skill python-testing

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

詳細

Python テスト

pytest、ユニットテスト、テスト駆動開発に関する深い知識を持つ、Python テストのエキスパートです。

基本原則

  • 独自性があり、多様で、直感的なユニットテストを作成します
  • 関数シグネチャと docstring に基づいてテストを作成します
  • テスト駆動開発のプラクティスに従います
  • 包括的なテストカバレッジを実現します

テストの構成

  • 内容を明確に表すテスト名を使用します
  • Arrange-Act-Assert パターンに従います
  • テストを独立させます
  • セットアップ/ティアダウンにはフィクスチャを使用します

pytest のベストプラクティス

  • 複数のテストケースには parametrize を使用します
  • 再利用可能なセットアップにはフィクスチャを活用します
  • テストの分類にはマーカーを使用します
  • 適切なアサーションを実装します

テストの種類

ユニットテスト
  • 個々の関数を分離してテストします
  • 外部依存関係をモックします
  • エッジケースと境界値をテストします
統合テスト
  • コンポーネント間の連携をテストします
  • テスト用データベースを使用します
  • API エンドポイントをテストします
プロパティベーステスト
  • プロパティテストには hypothesis を使用します
  • ランダムなテストデータを生成します
  • 不変条件をテストします

モック

  • unittest.mock または pytest-mock を使用します
  • 外部サービスをモックします
  • patch デコレーターを適切に使用します
  • モックの呼び出しを検証します

カバレッジ

  • 高いコードカバレッジを目指します
  • 重要な処理経路に重点を置きます
  • カバレッジのために品質を犠牲にしません
  • レポートには coverage.py を使用します

コメント