我已经浏览了很多关于这个主题的信息,但没有一个符合我的需要。
我计划测量系统测试用例的覆盖范围。我们的系统测试用例在Tomcat服务器支持的集群环境中运行。所以在不同的JVM中。有多个运行系统测试用例的Tomcat实例,因此我在每个Tomcat上都会获得多个jacoco bump文件。
我将jacoco agent jar作为VM参数附加到tomcat启动: -javaagent:org.jacoco.agent-runtime.jar = destfile = jacoco.exec,追加=真
我已经设置了maven来运行系统测试用例(一旦在已部署的tomcat服务器中触发了测试运行)。我为此使用了故障安全插件。我在测试用例执行后收集不同的jacaco文件,并通过以下插件设置获得合并的jacoco文件。
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<configuration>
<fileSets>
<fileSet>
<directory>jacoco-execs</directory>
<includes>
<include>*.exec</include>
</includes>
</fileSet>
</fileSets>
<!-- File containing the merged data -->
<destFile>../jacoco-merged/merged.exec</destFile>
</configuration>
</plugin>
在声纳pom中,我提供了这个合并的jacoco exec的位置以获取报道。 ../ merged.exec
通过设置,我设法在声纳板上获得线路覆盖率报告但是我没有获得每次测试的覆盖范围并且声纳日志具有以下误差 &#34;没有关于每次测试的覆盖率的信息。&#34;
我知道我必须附上一个jacoco监听器来获取这些信息。我这样做有问题,因为我没有使用maven生成jacoco文件,而是通过vm参数将jacoco代理连接到tomcat启动。 有没有办法通过VM参数添加监听器,我们添加javaagent的方式?
请告知。