JaCoCo 代理不跟踪代码覆盖率信息
JaCoCo agent is not tracking code coverage info
我在 Wildfly 9 服务器上有一个 Java Web 应用程序 运行ning,我使用 jmeter-maven-plugin 到 运行 在 [=34= 上进行一些性能测试]我的应用程序实例。这些测试 运行 对我的应用程序服务的简单 REST 请求。
我想做的是检索性能测试的代码覆盖率统计信息,以便我始终知道我的性能测试的覆盖代码量是多少。
根据 , this and this Whosebug 线程,我在服务器上设置了 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 文件,但是当我检查此文件 运行ning mvn sonar:sonar
时,即使性能测试调用了服务,我的代码覆盖率也是 0%。
可能是什么问题?我尝试了代理和插件的不同配置,但似乎没有解决我的问题。
谢谢
已解决,我在服务器端和测试端使用的软件版本不同
我在 Wildfly 9 服务器上有一个 Java Web 应用程序 运行ning,我使用 jmeter-maven-plugin 到 运行 在 [=34= 上进行一些性能测试]我的应用程序实例。这些测试 运行 对我的应用程序服务的简单 REST 请求。
我想做的是检索性能测试的代码覆盖率统计信息,以便我始终知道我的性能测试的覆盖代码量是多少。
根据
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 文件,但是当我检查此文件 运行ning mvn sonar:sonar
时,即使性能测试调用了服务,我的代码覆盖率也是 0%。
可能是什么问题?我尝试了代理和插件的不同配置,但似乎没有解决我的问题。
谢谢
已解决,我在服务器端和测试端使用的软件版本不同