parallel-test-fixing について
失敗したテストスイートを修復する開発者向けのテストスキルです。失敗をテストファイルごとに整理し、独立した作業を並列サブエージェントに割り当て、最後に全テストを再実行して確認します。
主な機能
- 01全テストスイートの実行と解析
- 02テストファイルごとの失敗整理
- 03並列サブエージェントへの修正委任
- 04変更の収集と競合の確認
- 05テスト再実行による修正確認
活用シーン
- 01多数の失敗テストを複数エージェントに分担
- 02テスト修正間のファイル編集競合の回避
- 03修正後に全テストが通るか確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ revitalb-port/ skills-registry-demo --skill parallel-test-fixingインストール後、Claude Code で/parallel-test-fixingを入力して読み込まれたか確認します。
詳細
テストの並列修正
失敗しているテストを並列サブエージェントに振り分け、テストスイートの修正を速めます。
ワークフロー
1. テストスイート全体を実行する
npm test -- --no-coverage 2>&1 || true
出力を保存し、失敗したテストファイルをすべて抽出します。
2. 失敗をグループ化する
テスト出力を解析し、失敗したファイルを特定します。
- Jest:
FAIL src/components/Button.test.tsx - Vitest:
FAIL src/utils/format.test.ts - Pytest:
FAILED tests/test_api.py::test_create_user
ファイルごとにグループ化します。各ファイルが1つのタスクになります。
3. 並列サブエージェントを起動する
失敗したテストファイルごとに、generalPurpose サブエージェントを起動します。
Task: Fix the failing tests in <file>
The test file is: <path>
The test command is: <command to run just this file>
The error output was:
<paste the relevant failure output>
Steps:
1. Read the test file and the source file it tests
2. Understand why each test is failing
3. Fix the source code (preferred) or update the test if the test is wrong
4. Run the single test file to confirm it passes
5. Report what you changed and why
すべてのサブエージェントを同時に起動します。それぞれ異なるファイルを変更するため、並列で作業できます。
4. 結果を収集する
各サブエージェントの完了に応じて、以下を収集します。
- 修正されたテスト
- 変更されたファイル
- 別のサブエージェントの変更と競合する可能性があるかどうか
5. 確認する
テストスイート全体をもう一度実行し、すべてのテストが成功することを確認します。
npm test
新たな失敗(修正の競合によるもの)が発生した場合は、順番に解決します。
ヒント
- 失敗したテストが同じソースファイルを共有している場合は、編集の競合を避けるため、同じサブエージェントに割り当てます
- タイムアウトを設定します。サブエージェントが5分以上停止している場合は、進捗を確認します
- 大規模なテストスイート(失敗が50件以上)の場合は、ファイルごとに1つずつ割り当てるのではなく、サブエージェントごとに5~10件のグループに分けます
- 修正を試すたびに独立したワークツリーを使いたい場合は、
best-of-n-runnerサブエージェントを使用します
コメント
Markdown 対応