mcpField
P
pytest-config

pytest-config

github.com/atholaテスト・品質34397 回インストール1 日前に更新
リポジトリ

pytest-config について

Claude Night Market プラグイン間で pytest 設定と再利用可能なテスト基盤を統一するスキルです。共有フィクスチャ、マーカー、カバレッジ設定、CI パターンが必要な Python プロジェクト向けです。

主な機能

  1. 01pytest 設定パターン
  2. 02再利用可能な conftest フィクスチャ
  3. 03テストマーカーとディレクトリ構成
  4. 04カバレッジと CI のガイダンス

活用シーン

  1. 01Python プロジェクトでの pytest 設定
  2. 02共有テストフィクスチャの作成
  3. 03プラグインのテスト基盤の標準化

インストール

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

$npx skills add https://github.com/athola/claude-night-market --skill pytest-config

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

同梱ファイル

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

modules/
ci-integration.md
conftest-patterns.md
git-testing-fixtures.md
mock-fixtures.md
README.md

詳細

Pytest 設定パターン

Claude Night Market プラグイン全体で一貫したテスト基盤を実現するための、標準化された pytest 設定とパターンです。

使用する場面

  • pytest の設定とフィクスチャをセットアップするとき
  • テスト基盤向けに conftest.py のパターンを設定するとき

使用しない場面

  • Python 以外のプロジェクト、または別のテストフレームワークを使用するプロジェクト
  • テスト基盤を必要としないシンプルなスクリプト

クイックスタート

基本的な pyproject.toml の設定
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
    "-v",
    "--cov=src",
    "--cov-report=term-missing",
    "--cov-fail-under=80",
    "--strict-markers",
]
markers = [
    "unit: marks tests as unit tests",
    "integration: marks tests as integration tests",
    "slow: marks tests as slow running",
]

[tool.coverage.run]
source = ["src"]
omit = ["*/tests/*", "*/migrations/*", "*/__pycache__/*"]
branch = true

[tool.coverage.report]
exclude_lines = [
    "pragma: no cover",
    "def __repr__",
    "def __str__",
    "raise NotImplementedError",
    "if __name__ == .__main__.:",
    "if TYPE_CHECKING:",
    "class .*\\bProtocol\\):",
    "@(abc\\.)?abstractmethod",
]
precision = 2
show_missing = true

確認方法: テストの検出を確認するには pytest --collect-only、マーカーを確認するには pytest -v --co -q、カバレッジのしきい値を確認するには pytest --cov を実行します。

詳細なパターン

詳細な実装パターンについては、以下を参照してください。

  • Conftest パターン - Conftest.py のテンプレート、フィクスチャ、テストマーカー、ディレクトリ構成
  • Git テスト用フィクスチャ - Git ワークフローのテストに使用する GitRepository ヘルパークラス
  • モックフィクスチャ - Bash、TodoWrite、その他の Claude Code ツール向けのモックツールフィクスチャ
  • CI 統合 - 自動テスト用の GitHub Actions ワークフローとテストコマンド
  • モジュール索引: モジュール構成の概要は modules/README.md を参照してください

他のスキルとの連携

このスキルが提供する基盤となるパターンは、以下から参照されます。

  • parseltongue:python-testing - pytest の設定とフィクスチャを使用します
  • pensive:test-review - テスト品質の基準を使用します
  • sanctum:test-* - conftest パターンと Git フィクスチャを使用します

スキルのフロントマターで、以下のように参照してください。

dependencies: [leyline:pytest-config, leyline:testing-quality-standards]

完了条件

  • pytest の設定がプラグイン全体で標準化されている
  • conftest.py が再利用可能なフィクスチャを提供している
  • テストマーカーが定義され、文書化されている
  • カバレッジ設定によって品質のしきい値が適用されている
  • 自動テスト向けに CI/CD 統合が設定されている

トラブルシューティング

よくある問題

テストが検出されない テストファイル名が test_*.py または *_test.py のパターンに一致することを確認してください。検出を確認するには pytest --collect-only を実行します。

インポートエラー テスト対象のモジュールが PYTHONPATH に含まれていることを確認するか、pip install -e . でインストールしてください。

非同期テストが失敗する pytest-asyncio をインストールし、テスト関数に @pytest.mark.asyncio を付けてください。

コメント