我有一个在Wildfly 9服务器上运行的Java Web应用程序,我使用jmeter-maven插件在我的应用程序的运行实例上运行一些性能测试。这些测试对应用程序的服务运行简单的 REST 请求。
我想做的是检索性能测试的代码覆盖率统计数据,这样我就可以知道我的性能测试的代码覆盖率。
在此之后,我在服务器上设置了JaCoCoJava代理。这是启动时的代理配置
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时,验证
所有性能测试都会运行(因此确实会调用REST服务),并且JaCoCo插件会正确转储服务器JaCoCo。exec文件,但当我检查这个运行mvn-sonar:sonar
的文件时,即使性能测试调用了这些服务,代码覆盖率也为0%。
有什么问题吗?我尝试了不同的代理和插件配置,但似乎并没有解决我的问题。
谢谢你
解决后,我没有在服务器和测试端使用相同版本的软件
我的代码运行在具有单独JVM的单独虚拟机上。我想在此虚拟机上以tcpserver模式设置JaCoCo代理以收集覆盖率数据。然后,我将在我的maven项目中以tcpclient模式设置JaCoCo代理,以连接到上面提到的VM并获取覆盖率数据。 问题是代理不收集任何覆盖数据。在中创建了覆盖率数据文件,但该文件为空。 下面是代理选项:-Java agent:/usr/xx/plugins/org . j
我在声纳中的代码覆盖率显示为0%,这不是真的,因为我有单元测试。 格拉德尔 当我打开inside然后我可以看到成功的单元测试。 我在Jenkins环境中运行作为
在maven构建过程中,我使用启动我的应用程序,并使用故障安全运行集成测试。现在我想从测试中的应用程序获取覆盖数据。 问题是,覆盖率报告包含我的应用程序的所有类,但没有覆盖率数据(全部为0%)。当我将jacoco代理附加到failsafe插件时,它会生成测试类的代码覆盖率,这并没有真正的帮助。 有什么想法吗? process exec maven插件配置: 使用以下Jacoco配置:
我正在尝试使用JaCoCo-javaagent传递VM参数来获得代码覆盖率 -Java agent:/test/jaco co/jaco agent . jar = dest file =/test/jaco co/jaco co . exec,includes=com。*,append=true 我能在jacoco中获得一些价值。执行文件,但无法获取覆盖率报告。我怎样才能把jacoco转化成。执
我正在尝试生成Jacoco代码覆盖率报告。我已经将AndroidTestCase用于我的测试类。 在过去几天里,我已经关注了堆栈溢出的各种公认答案。结果是否定的。 我的分级文件:
这是一个重要的可量化指标,如果代码覆盖率很高,你就可以放心的修改代码,在发版本的时候也能睡个安稳觉。否则就是拆东墙补西墙,陷入无尽的 bug 诅咒中。 那么在 OpenResty 里面如何看到代码覆盖率呢?其实很简单,使用 LuaCov 可以很方便的实现。 我们先了解下 LuaCov,这是一个针对 Lua 脚本的代码覆盖率工具,通过 luarocks 来安装: luarocks install l