mcpField
P
parallel-test-fixing

parallel-test-fixing

github.com/revitalb-portテスト・品質054 回インストール10 週間前に更新
リポジトリ

parallel-test-fixing について

失敗したテストスイートを修復する開発者向けのテストスキルです。失敗をテストファイルごとに整理し、独立した作業を並列サブエージェントに割り当て、最後に全テストを再実行して確認します。

主な機能

  1. 01全テストスイートの実行と解析
  2. 02テストファイルごとの失敗整理
  3. 03並列サブエージェントへの修正委任
  4. 04変更の収集と競合の確認
  5. 05テスト再実行による修正確認

活用シーン

  1. 01多数の失敗テストを複数エージェントに分担
  2. 02テスト修正間のファイル編集競合の回避
  3. 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 サブエージェントを使用します

コメント