jacoco

JaCoCo - Quick Reference

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "jacoco" with this command: npx skills add claude-dev-suite/claude-dev-suite/claude-dev-suite-claude-dev-suite-jacoco

JaCoCo - Quick Reference

When to Use This Skill

  • Configure code coverage in Java/Maven projects

  • Set coverage thresholds

  • Integrate coverage in CI/CD

When NOT to Use This Skill

  • JavaScript/TypeScript coverage - Use Vitest skill for frontend coverage

  • SonarQube configuration - Use sonarqube skill for quality gates

  • Test writing - Use Spring Boot Test or JUnit skills

  • Gradle projects - JaCoCo works but syntax differs from Maven

Deep Knowledge: Use mcp__documentation__fetch_docs with technology: jacoco for comprehensive documentation.

Essential Patterns

Maven Configuration

<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>

Exclusions

<excludes> <exclude>com.company.config.</exclude> <exclude>com.company.dto.</exclude> <exclude>com.company.entity.*</exclude> <exclude>com.company.mapper.*Impl</exclude> </excludes>

Commands

mvn clean verify # Test + coverage check mvn jacoco:report # Generate report open target/site/jacoco/index.html # View report

Counter Types

Counter Description

LINE

Lines of code

BRANCH

Branch if/switch

METHOD

Methods

Anti-Patterns

Anti-Pattern Why It's Bad Correct Approach

Aiming for 100% coverage Diminishing returns, test bloat Target 80% LINE, 70% BRANCH

Including DTOs/entities in coverage Inflates numbers, no logic to test Exclude with <excludes>

Only checking LINE coverage Misses untested branches Check both LINE and BRANCH

No coverage threshold in CI Can't enforce quality Add <check> goal with minimums

Excluding too much code False sense of security Only exclude generated/config code

Not versioning jacoco.exec Can't track coverage trends Archive reports in CI

Quick Troubleshooting

Issue Likely Cause Solution

Coverage report shows 0% Tests not running with agent Ensure prepare-agent goal runs before tests

Build fails on coverage check Coverage below threshold Add tests or adjust minimum in <limit>

Report excludes nothing Wrong exclude pattern Use fully qualified names (com.company.dto.*)

Report missing classes Classes not loaded during tests Add integration tests to cover them

Coverage lower in CI than local Different test execution Ensure CI runs all test phases

SonarQube shows no coverage Wrong report path Check sonar.coverage.jacoco.xmlReportPaths

Further Reading

For advanced configurations: mcp__documentation__fetch_docs

  • Technology: jacoco (not yet in MCP - use official docs)

  • JaCoCo Docs

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

cron-scheduling

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

token-optimization

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

webrtc

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

react-19

No summary provided by upstream source.

Repository SourceNeeds Review