mcpField
C
coverage-guard

coverage-guard

github.com/proffesor-for-testingテスト・品質51961 回インストール今日更新
リポジトリ

coverage-guard について

テストコマンドの実行後にカバレッジを確認し、設定したしきい値を下回ると警告するスキルです。テストを止めずにカバレッジの変化を把握したいチーム向けです。

主な機能

  1. 01テスト実行後のカバレッジ確認
  2. 02結果と設定しきい値の比較
  3. 03カバレッジ低下時の警告
  4. 04カバレッジコマンドの設定

活用シーン

  1. 01テスト実行後のカバレッジ低下の検出
  2. 02ステートメント・分岐・関数・行のしきい値監視

インストール

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

$npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill coverage-guard

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

同梱ファイルscripts/check-coverage.sh

詳細

カバレッジガードモード

有効にすると、テスト実行後にカバレッジをチェックし、設定したしきい値を下回った場合に警告します。

機能

テストが実行されるたびに(Bash ツール経由で)、カバレッジを config.json のしきい値と比較します。カバレッジが低下した場合に警告します(実行はブロックしません)。

有効化

/coverage-guard

設定

このスキルディレクトリにある config.json を編集して、しきい値を設定します。

{
  "thresholds": {
    "statements": 80,
    "branches": 70,
    "functions": 75,
    "lines": 80
  },
  "coverageCommand": "npx jest --coverage --coverageReporters=json-summary",
  "coverageFile": "coverage/coverage-summary.json"
}

フックの設定

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Bash",
        "hook": ".claude/skills/coverage-guard/scripts/check-coverage.sh",
        "condition": "command contains 'jest' OR command contains 'vitest' OR command contains 'npm test'"
      }
    ]
  }
}

適用ロジック

#!/bin/bash
# check-coverage.sh
COVERAGE_FILE="coverage/coverage-summary.json"
THRESHOLD=80

if [ -f "$COVERAGE_FILE" ]; then
  STATEMENTS=$(jq '.total.statements.pct' "$COVERAGE_FILE")
  BRANCHES=$(jq '.total.branches.pct' "$COVERAGE_FILE")

  if (( $(echo "$STATEMENTS < $THRESHOLD" | bc -l) )); then
    echo "WARNING: Statement coverage ($STATEMENTS%) below threshold ($THRESHOLD%)"
    echo "Coverage dropped — check which files lost coverage."
  fi

  if (( $(echo "$BRANCHES < 70" | bc -l) )); then
    echo "WARNING: Branch coverage ($BRANCHES%) below 70%"
  fi
fi

注意点

  • カバレッジチェックはテストコマンドの実行後に行われます。テストがクラッシュすると、カバレッジレポートは生成されません。
  • Coverage-summary.json をレポーターとして設定する必要があります。Jest のデフォルト設定には含まれていない場合があります。
  • しきい値の比較には浮動小数点数を使用します。しきい値が 80% の場合、79.999% は下回ったと判定されます。
  • ブランチカバレッジは通常、行カバレッジより10~15%低くなります。それに応じてしきい値を設定してください。

コメント