使用JaCoCo的代码覆盖率

时间:2014-09-02 18:48:43

标签: code-coverage jacoco

我试图使用JaCoCo-javaagent传递VM参数来获取代码覆盖率

  
    

-javaagent:/test/jacoco/jacocoagent.jar=destfile=/test/jacoco/jacoco.exec,includes=com *,追加=真

  

我能够在jacoco.exec文件中获得一些价值,但无法获得覆盖率报告。如何将jacoco.exec转换为覆盖率报告我在VM中遗漏了什么参数。

条件就像我只有jar和war并使用jBoss服务器来运行应用程序。

2 个答案:

答案 0 :(得分:0)

运行SonarQube,其中包括优秀的JaCoCo报告。无需自己解析JaCoCo的二进制输出。

使用各种工具(包括命令行)运行它的说明链接是here

您需要运行声纳服务器。您可以下载here。在Mac上,你可以做到

  1. brew install sonar
  2. sonar console
  3. 例如,Maven的命令是

    1. mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true
    2. mvn sonar:sonar

答案 1 :(得分:0)

您可以使用org.jacoco:jacoco-maven-plugin:report maven目标生成JaCoCo报告。例如:

的pom.xml

...
<profiles>
  <profile>
    <id>jacoco-report</id>
    <build>
      <plugins>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>0.7.5.201505241946</version>
          <executions>
            <execution>
              <goals>
                <goal>prepare-agent</goal>
                <goal>report</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
  </profile>
</profiles>

mvn -Pjacoco-report clean install jacoco maven插件在target/site/jacoco目录中生成报告后。