mcpField
J
jacoco

jacoco

github.com/claude-dev-suiteテスト・品質4652 回インストール2 日前に更新
リポジトリ

jacoco について

Java 開発者向けの JaCoCo クイックリファレンススキルです。Maven プロジェクトのカバレッジ設定、しきい値、レポート、除外、CI の指針を扱います。

主な機能

  1. 01Maven のカバレッジ設定
  2. 02カバレッジしきい値
  3. 03レポート生成
  4. 04クラスの除外設定
  5. 05トラブルシューティング

活用シーン

  1. 01Maven ビルドへのカバレッジチェック追加
  2. 02行と分岐のカバレッジ確認
  3. 03カバレッジレポートの欠落調査

インストール

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

$npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill jacoco

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

詳細

JaCoCo - クイックリファレンス

このスキルを使用する場面

  • Java/Maven プロジェクトでコードカバレッジを設定する
  • カバレッジのしきい値を設定する
  • CI/CD にカバレッジを統合する

このスキルを使用しない場面

  • JavaScript/TypeScript のカバレッジ - フロントエンドのカバレッジには Vitest スキルを使用します
  • SonarQube の設定 - 品質ゲートには sonarqube スキルを使用します
  • テストの作成 - Spring Boot Test または JUnit のスキルを使用します
  • Gradle プロジェクト - JaCoCo は動作しますが、構文は Maven と異なります

詳細な知識:包括的なドキュメントについては、technology: jacoco を指定して mcp__documentation__fetch_docs を使用してください。

基本的なパターン

Maven の設定
<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.8.12</version>
    <executions>
        <execution>
            <id>prepare-agent</id>
            <goals><goal>prepare-agent</goal></goals>
        </execution>
        <execution>
            <id>report</id>
            <phase>test</phase>
            <goals><goal>report</goal></goals>
        </execution>
        <execution>
            <id>check</id>
            <goals><goal>check</goal></goals>
            <configuration>
                <rules>
                    <rule>
                        <element>BUNDLE</element>
                        <limits>
                            <limit>
                                <counter>LINE</counter>
                                <value>COVEREDRATIO</value>
                                <minimum>0.80</minimum>
                            </limit>
                        </limits>
                    </rule>
                </rules>
            </configuration>
        </execution>
    </executions>
</plugin>
除外
<excludes>
    <exclude>com.company.config.*</exclude>
    <exclude>com.company.dto.*</exclude>
    <exclude>com.company.entity.*</exclude>
    <exclude>com.company.mapper.*Impl</exclude>
</excludes>
コマンド
mvn clean verify           # Test + coverage check
mvn jacoco:report          # Generate report
open target/site/jacoco/index.html  # View report

カウンターの種類

カウンター説明
LINEコード行
BRANCHif/switch の分岐
METHODメソッド

アンチパターン

アンチパターン問題点正しい方法
カバレッジ 100% を目指す効果が逓減し、テストが肥大化しますLINE は 80%、BRANCH は 70% を目標にします
DTO/エンティティをカバレッジに含める数値が水増しされ、テストすべきロジックがありません<excludes> で除外します
LINE カバレッジだけを確認する未テストの分岐を見逃しますLINE と BRANCH の両方を確認します
CI にカバレッジのしきい値がない品質を強制できません最小値を指定した <check> ゴールを追加します
コードを除外しすぎる誤った安心感につながります生成コードまたは設定コードのみを除外します
jacoco.exec をバージョン管理しないカバレッジの推移を追跡できませんCI でレポートをアーカイブします

簡単なトラブルシューティング

問題考えられる原因解決策
カバレッジレポートが 0% と表示されるエージェントを使ってテストが実行されていませんテストの前に prepare-agent ゴールが実行されることを確認します
カバレッジチェックでビルドが失敗するカバレッジがしきい値を下回っていますテストを追加するか、<limit> の最小値を調整します
レポートで何も除外されない除外パターンが正しくありません完全修飾名(com.company.dto.*)を使用します
レポートにクラスがないテスト中にクラスが読み込まれていません対象をカバーする統合テストを追加します
CI のカバレッジがローカルより低いテストの実行方法が異なりますCI ですべてのテストフェーズが実行されることを確認します
SonarQube にカバレッジが表示されないレポートのパスが正しくありませんsonar.coverage.jacoco.xmlReportPaths を確認します

参考資料

高度な設定については、mcp__documentation__fetch_docs を参照してください

  • Technology: jacoco(MCP では未対応です。公式ドキュメントを使用してください)
  • JaCoCo Docs

コメント