test について
testは、pytestによる検証からエンドツーエンドテストまで、プラグインの自動テストやカテゴリ別チェックを実行するスキルです。プラグインの保守担当者向けに、結果と修正に役立つ失敗情報をまとめます。
主な機能
- 01全テストスイートの実行
- 02pytestによる簡易チェック
- 03カテゴリ別テストの選択
- 04成功数と失敗数の集計
- 05ファイルと行番号の提示
活用シーン
- 01変更後のプラグイン整合性確認
- 02特定カテゴリのテスト実行
- 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 quick | Python テストランナーを実行(高速な自動チェック) |
/test config | 設定システムのテスト |
/test skills | スキル定義とドキュメント |
/test templates | テンプレートファイルのテスト |
/test workflow | アルバムのワークフロードキュメント |
/test suno | Suno 統合テスト |
/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- スキル間の前提条件チェーン
新しいテストの追加
バグが見つかった場合:
- テストが属するカテゴリを特定します
- そのバグを検出できるテストを追加します
/test [category]を実行し、テストが失敗することを確認します- バグを修正します
/test [category]を実行し、テストが成功することを確認します- 修正と新しいテストの両方をコミットします
ルール: バグを修正するたびに、回帰テストを追加してください。
実行のヒント
- 行番号を取得するには、
output_mode: contentと-nを指定して Grep を使用します - パターンでファイルを検索するには Glob を使用します
- ファイルの内容を確認するには Read を使用します
- Bash は必要な場合に限り使用します(YAML/JSON の検証など)
- 失敗箇所は正確なファイル名と行番号で報告します
- 具体的で実行可能な修正手順を提示します
- 読みやすいよう、関連するテストをまとめます
- 前提条件が不足している場合は、適切にテストをスキップします