mcpField
L
ln-782-test-runner

ln-782-test-runner

github.com/levnikolaevichテスト・品質584412 回インストール2 日前に更新
リポジトリ

ln-782-test-runner について

設定からテストフレームワークを検出し、テストを実行して、任意でカバレッジを含む構造化結果を返すテスト用スキルです。単独実行や CI のテスト工程に向いており、プロジェクトのビルドやテストの作成・修正は対象外です。

主な機能

  1. 01テストフレームワークの自動検出
  2. 02検出したテストスイートの実行
  3. 03成功・失敗・スキップ数と所要時間の解析
  4. 04任意のカバレッジレポート生成
  5. 05失敗詳細を含む構造化結果
  6. 06タイムアウトと並列実行の設定

活用シーン

  1. 01単独でのテスト実行
  2. 02CI パイプラインへのテスト工程追加
  3. 03テスト実行時のカバレッジ収集

インストール

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-782-test-runner

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

同梱ファイルreferences/ci_tool_detection.mdreferences/monitor_integration_pattern.md

詳細

パス: ファイルパス(references/、../ln-*)は、このスキルディレクトリからの相対パスです。

必読: references/ci_tool_detection.md を読み込んでください。テストフレームワークのレジストリ、コンパクトフラグ(--tb=short -q、--reporter=json)、正規化チェーンが記載されています。

ln-782-test-runner

タイプ: L3 ワーカー カテゴリ: 7XX プロジェクトのブートストラップ


目的

テストフレームワークを検出し、すべてのテストスイートを実行して、合格/失敗の件数や、任意のカバレッジを含む結果を報告します。

対象範囲:

  • プロジェクト設定からテストフレームワークを自動検出します
  • 検出されたすべてのフレームワークのテストスイートを実行します
  • テスト出力を解析して合格/失敗の件数を取得します
  • 有効な場合、カバレッジレポートを生成します

対象外:

  • プロジェクトのビルド(ln-781 が担当)
  • コンテナ操作(ln-783 が担当)
  • テストの作成や修正

使用するタイミング

シナリオこのスキルを使用
単独で実行可能はい
単独でのテスト実行はい
CI/CD パイプラインのテストステップはい
ビルド検証が必要いいえ。ln-781 を使用

ワークフロー

ステップ 1:テストフレームワークを検出する

プロジェクト設定ファイルからテストフレームワークを特定します。

マーカーテストフレームワークプロジェクトタイプ
vitest.config.*VitestNode.js
jest.config.*JestNode.js
package.json 内の *.test.tsVitest/JestNode.js
*.csproj 内の xunit / nunitxUnit/NUnit.NET
pytest.ini / conftest.pypytestPython
*_test.go ファイルgo testGo
Cargo.toml を含む tests/cargo testRust
ステップ 2:テストスイートを実行する

検出された各フレームワークのテストを実行します。

フレームワーク実行方法
VitestJSON レポーターを使用し、単一実行モードで実行します
JestJSON 出力で実行します
xUnit/NUnit構造化出力用のロガーを使用して実行します
pytestJSON プラグインまたは詳細出力を使用して実行します
go testJSON 出力フラグを使用して実行します
cargo test標準出力を解析して実行します
ステップ 3:結果を解析する

フレームワークの出力からテスト結果を抽出します。

メトリクス説明
total検出されたテストの合計数
passed正常に完了したテスト
failedアサーションに失敗したテスト
skippedスキップ/無視としてマークされたテスト
duration合計実行時間
ステップ 4:カバレッジを生成する(任意)

カバレッジが有効な場合、カバレッジ指標を収集します。

フレームワークカバレッジツール
Vitest/Jestc8 / istanbul
.NETcoverlet
pytestpytest-cov
Gogo test -cover
Rustcargo-tarpaulin

カバレッジ指標:

メトリクス説明
linesCoveredテスト中に実行された行数
linesTotalコードベースの総行数
percentageカバレッジ率
ステップ 5:結果を報告する

構造化された結果をオーケストレーターに返します。

結果の構造:

フィールド説明
suiteNameテストスイートの識別子
framework検出されたテストフレームワーク
status合格/失敗/エラー
totalテストの合計数
passed合格したテスト数
failed失敗したテスト数
skippedスキップされたテスト数
duration実行時間(秒)
failures失敗の詳細(テスト名、メッセージ)の配列
coverageカバレッジ指標(有効な場合)

エラー処理

エラータイプ対応
テストが見つからない警告を報告し、status = passed(テスト数 0)とします
テストがタイムアウトしたタイムアウトを報告し、途中までの結果を含めます
フレームワークエラーエラーをログに記録し、ステータスを error として報告します
依存関係が不足している不足しているテスト依存関係を報告します

オプション

オプションデフォルト説明
skipTestsfalseテストが見つからない場合、実行をスキップします
allowFailuresfalseテストが失敗しても成功として報告します
coveragefalseカバレッジレポートを生成します
timeout300最大実行時間(秒)
paralleltrue可能な場合、テストスイートを並列実行します

重要なルール

  1. 検出されたすべてのテストスイートを実行する — テストスイートを黙ってスキップしないでください
  2. 実際の結果を解析する — 終了コードだけに頼らないでください
  3. 失敗の詳細を含める — デバッグに役立つ具体的な情報を提示してください
  4. タイムアウトを守る — 無限ループによるハングを防いでください
Monitor との統合(Claude Code 2.1.98+)

必ず読むこと: references/monitor_integration_pattern.md を読み込んでください

実行に 30 秒を超えると予想されるテストスイートでは、Monitor を使って失敗をリアルタイムにストリーミングしてください。

パターンコマンドtimeout_ms
失敗をストリーミング{test_command} 2>&1 | grep --line-buffered -E 'FAIL|Error|✗|AssertionError'timeout * 1000(Options から取得)
全出力{test_command} 2>&1timeout * 1000

残りのテストが実行を続けている間も、最初の失敗にはただちに対応してください。

フォールバック:Monitor を利用できない場合(Bedrock/Vertex)は、Bash(run_in_background=true) を使用してください。


完了の定義

  • すべてのテストフレームワークを検出済み
  • すべてのテストスイートを実行済み
  • 結果を解析して構造化済み
  • カバレッジを収集済み(有効な場合)
  • 結果をオーケストレーターに返却済み

参照ファイル

  • 親:../ln-780-bootstrap-verifier/SKILL.md

バージョン: 2.0.0 最終更新日: 2026-01-10

コメント