Skip to content

使用 JaCoCo 收集覆盖率

JaCoCo 是一个 Java 代码覆盖率工具,可以生成代码覆盖率报告。以下是如何配置和使用 JaCoCo 的步骤:

  1. 添加 JaCoCo 插件:在项目的构建文件中添加 JaCoCo 插件。
  2. 配置 JaCoCo:在构建文件中配置 JaCoCo 任务,以便在运行单元测试时收集覆盖率数据。
  3. 生成覆盖率报告:运行构建工具生成覆盖率报告。JaCoCo 可以生成 HTML、XML 和 CSV 格式的报告。

版本:

  • java8 => 0.8.7
  • java17+ => 0.8.13

jacoco 报告查看地址: target/site/jacoco/index.html

插件完整配置

xml
<plugin>
  <groupId>org.jacoco</groupId>
  <artifactId>jacoco-maven-plugin</artifactId>
  <version>${jacoco.version}</version>
  <configuration>
    <skip>${maven.test.skip}</skip>
    <destFile>${basedir}/target/coverage-reports/jacoco-unit.exec</destFile>
    <dataFile>${basedir}/target/coverage-reports/jacoco-unit.exec</dataFile>
    <output>file</output>
    <append>true</append>
    <excludes>
      <exclude>com/pkslow/basic/containsperformance/**</exclude>
      <exclude>com/pkslow/basic/ReadPropertiesFile</exclude>
    </excludes>

  </configuration>
  <executions>
    <execution>
      <id>jacoco-initialize</id>
      <goals>
        <goal>prepare-agent</goal>
      </goals>
      <phase>test-compile</phase>
    </execution>

    <execution>
      <id>jacoco-site</id>
      <phase>verify</phase>
      <goals>
        <goal>report</goal>
      </goals>
    </execution>
  </executions>
</plugin>