mcpField
T
test

test

github.com/bitwize-music-studioテスト・品質609221 回インストール2 週間前に更新
リポジトリ

test について

testは、pytestによる検証からエンドツーエンドテストまで、プラグインの自動テストやカテゴリ別チェックを実行するスキルです。プラグインの保守担当者向けに、結果と修正に役立つ失敗情報をまとめます。

主な機能

  1. 01全テストスイートの実行
  2. 02pytestによる簡易チェック
  3. 03カテゴリ別テストの選択
  4. 04成功数と失敗数の集計
  5. 05ファイルと行番号の提示

活用シーン

  1. 01変更後のプラグイン整合性確認
  2. 02特定カテゴリのテスト実行
  3. 03失敗箇所の特定と修正計画

インストール

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

$npx skills add https://github.com/bitwize-music-studio/claude-ai-music-skills --skill test

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

同梱ファイルtest-definitions.md

詳細

タスク

入力: $ARGUMENTS

プラグインの整合性を検証する自動テストを実行します。各テストを順番に実行し、結果を明確に報告してください。

デフォルト: 引数が指定されていない場合は、すべてのテストを実行します。


プラグインテストスイート

プラグインの自動テストランナーとして、各テストを実行し、成功/失敗を記録して、対応可能な結果を報告してください。

クイック自動テスト(/test quick)

高速な自動検証には、pytest スイートを実行します。まず get_python_command() を呼び出して $PYTHON(仮想環境のインタープリターのパス。ネイティブ Windows を含むすべての OS で正しく動作します)を取得してください。

$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v

以下を確認します。

  • プラグインテスト(tests/plugin/)- Frontmatter、テンプレート、参照、リンク、用語、一貫性、設定、状態、ジャンル、統合
  • ユニットテスト(tests/unit/)- 状態パーサー/インデクサー、共有ユーティリティ、マスタリング関数

特定のカテゴリを実行するには、次のようにします。

$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_skills.py -v       # Skills only
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/ -v                      # All plugin tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/unit/ -v                        # All unit tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -m "not slow" -v               # Skip slow tests

pytest を使えば、よくある問題をすばやく検出できます。動作を詳しくテストするには、以下の完全なテストスイートを使用してください。

出力形式

════════════════════════════════════════
CATEGORY: Test Category Name
════════════════════════════════════════

[PASS] Test name
[FAIL] Test name
       → Problem: what's wrong
       → File: path/to/file:line
       → Fix: specific fix instruction

────────────────────────────────────────
Category: X passed, Y failed
────────────────────────────────────────

最後に:

════════════════════════════════════════
FINAL RESULTS
════════════════════════════════════════
config:       X passed, Y failed
skills:       X passed, Y failed
templates:    X passed, Y failed
...
────────────────────────────────────────
TOTAL:        X passed, Y failed, Z skipped
════════════════════════════════════════

テストカテゴリ

すべてのテスト定義は test-definitions.md にあります。

カテゴリは14種類です:config、skills、templates、workflow、suno、research、mastering、sheet-music、release、consistency、terminology、behavior、quality、e2e。

テストを実行する前にこのファイルを読み、各テストで何を確認するか把握してください。


テストの実行

コマンド

コマンド説明
/test または /test allすべてのテストを実行
/test quickPython テストランナーを実行(高速な自動チェック)
/test config設定システムのテスト
/test skillsスキル定義とドキュメント
/test templatesテンプレートファイルのテスト
/test workflowアルバムのワークフロードキュメント
/test sunoSuno 統合テスト
/test research調査ワークフローのテスト
/test masteringマスタリングワークフローのテスト
/test sheet-music楽譜生成テスト
/test releaseリリースワークフローのテスト
/test consistency相互参照チェック
/test terminology用語の一貫性テスト
/test behaviorシナリオベースのテスト
/test qualityコード品質チェック
/test e2eエンドツーエンドの統合テスト

pytest によるクイックテスト

開発中の迅速な検証には、pytest を直接使用してください。まず get_python_command() を呼び出して $PYTHON(仮想環境のインタープリターのパス。すべての OS で正しく動作します)を取得してください。

# Run all tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v

# Run specific test modules
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_skills.py ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_templates.py -v

# Verbose with short tracebacks
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v --tb=short

# Quiet mode (for CI/logs)
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -q --tb=line

tests/plugin/ のテストモジュール:

  • test_skills.py - Frontmatter、必須フィールド、モデルの検証
  • test_templates.py - テンプレートの存在と構造
  • test_references.py - 参照ドキュメントの存在
  • test_links.py - 内部 Markdown リンク
  • test_terminology.py - 非推奨用語のチェック
  • test_consistency.py - バージョンの同期、スキル数
  • test_config.py - 設定ファイルの検証
  • test_state.py - 状態キャッシュツールの検証
  • test_genres.py - ジャンルディレクトリの相互参照
  • test_integration.py - スキル間の前提条件チェーン

新しいテストの追加

バグが見つかった場合:

  1. テストが属するカテゴリを特定します
  2. そのバグを検出できるテストを追加します
  3. /test [category] を実行し、テストが失敗することを確認します
  4. バグを修正します
  5. /test [category] を実行し、テストが成功することを確認します
  6. 修正と新しいテストの両方をコミットします

ルール: バグを修正するたびに、回帰テストを追加してください。


実行のヒント

  • 行番号を取得するには、output_mode: content と -n を指定して Grep を使用します
  • パターンでファイルを検索するには Glob を使用します
  • ファイルの内容を確認するには Read を使用します
  • Bash は必要な場合に限り使用します(YAML/JSON の検証など)
  • 失敗箇所は正確なファイル名と行番号で報告します
  • 具体的で実行可能な修正手順を提示します
  • 読みやすいよう、関連するテストをまとめます
  • 前提条件が不足している場合は、適切にテストをスキップします

コメント