JaCoCo
Since TeamCity 8.1, TeamCity supports JaCoCo, a Java Code Coverage tool allowing you to measure a wide set of coverage metrics and code complexity. JaCoCo is available for the following build runners: Ant, IntelliJ IDEA Project, Gradle and Maven.
TeamCity supports the java agent coverage mode allowing you to collect coverage without modifying build scripts or binaries. No additional build steps needed - just choose JaCoCo coverage in a build step which runs tests:
In the Code Coverage section, select JaCoCo as a coverage tool in the Choose coverage runner drop-down.
Set up the coverage options - refer to the description of the available options below.
Option | Description | Example |
---|---|---|
Classfile directories or jars | Newline-delimited set of path patterns in the form of +|-:[path] to scan for classfiles to be analyzed. Libraries and test classfiles are not needed to be listed unless their coverage is wanted. | +:src/main/java/** |
Classes to instrument | Newline-delimited set of classname patterns in the form of +|-:[path]. Allows filtering out unwanted classes listed in "Classfile directories or jars" field. Useful in case test classes are compiled. | +:com.package.core.* -:com.package.*Test* |
The code coverage results can be viewed on the Overview tab of the Build Results page; detailed report is displayed on the dedicated Code Coverage tab.