JaCoCo代理不跟踪代码覆盖率信息

时间:2016-10-11 13:03:28

标签: java maven sonarqube jacoco jacoco-maven-plugin

我有一个在Wildfly 9服务器上运行的Java Web应用程序,我使用jmeter-maven-plugin在我的应用程序的运行实例上运行一些性能测试。这些测试对我的应用程序服务运行简单的REST请求。

我想要检索性能测试的代码覆盖率统计信息,以便我始终知道性能测试所涵盖的代码量是多少。

thisthisthis StackOverflow线程之后,我在服务器上设置了JaCoCo Java代理。这是启动时的代理配置

set "JAVA_OPTS=%JAVA_OPTS% -javaagent:/path/to/jacocoagent.jar=output=tcpserver,address=*,port=6300,includes=my.package.*"

此外,我在测试Maven项目上配置了jacoco-maven-plugin,以便让它在服务器上运行转储以检索执行信息。

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.7.7.201606060606</version>
    <configuration>
        <destFile>${sonar.jacoco.itReportPath}</destFile>
        <append>false</append>
    </configuration>
    <executions>
        <execution>
            <id>jacoco-dump</id>
            <phase>verify</phase>
            <goals>
                <goal>dump</goal>
            </goals>
            <configuration>
                <address>my.server</address>
                <skip>${skipJMeterTests}</skip>
                <!-- <reset>true</reset> -->
            </configuration>
        </execution>
    </executions>

</plugin>

因此,当我运行mvn verify运行所有性能测试时(确实调用了REST服务)并且JaCoCo插件正确地转储了服务器jacoco.exec文件,但是当我检查运行{{1}的文件时即使性能测试调用了服务,我也会得到0%的代码覆盖率。

可能是什么问题?我尝试了代理和插件的不同配置,但似乎无法解决我的问题。

谢谢

1 个答案:

答案 0 :(得分:0)

解决了,我没有在服务器和测试端使用相同版本的软件