在maven构建过程中,我使用过程-exec-maven-plugin
启动我的应用程序,并使用故障安全运行集成测试。现在我想从测试中的应用程序获取覆盖数据。
问题是,覆盖率报告包含我的应用程序的所有类,但没有覆盖率数据(全部为0%)。当我将jacoco代理附加到failsafe插件时,它会生成测试类的代码覆盖率,这并没有真正的帮助。
有什么想法吗?
process exec maven插件配置:
<plugin>
<groupId>com.bazaarvoice.maven.plugins</groupId>
<artifactId>process-exec-maven-plugin</artifactId>
<executions>
<execution>
<id>start-importer</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
<configuration>
<name>product-importer</name>
<waitForInterrupt>false</waitForInterrupt>
<healthcheckUrl>http://localhost:${jetty.http.port}/health</healthcheckUrl>
<arguments>
<argument>${java.home}/../bin/java</argument>
<argument>${failsafe.argLine}</argument>
<argument>-jar</argument>
<argument>
${project.build.directory}/jars/app-${project.version}-shaded.jar
</argument>
</arguments>
</configuration>
</execution>
<!--Stop all processes in reverse order-->
<execution>
<id>stop-all</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop-all</goal>
</goals>
</execution>
</executions>
</plugin>
使用以下Jacoco配置:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>prepare-jacoco-service-test-agent</id>
<!-- default pre-integration is to late for the process-exec-maven-plugin -->
<phase>package</phase>
<goals>
<goal>prepare-agent-integration</goal>
</goals>
<configuration>
<propertyName>failsafe.argLine</propertyName>
<includes>
<include>de.myapp.*</include>
</includes>
<classDumpDir>${project.build.outputDirectory}</classDumpDir>
<destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
<append>true</append>
</configuration>
</execution>
<execution>
<id>report-jacoco-service-test-results</id>
<goals>
<goal>report-integration</goal>
</goals>
<phase>verify</phase>
<configuration>
<dataFile>${project.build.directory}/coverage-reports/jacoco-it.exec</dataFile>
<outputDirectory>${project.build.directory}/coverage-reports/out/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
在我的例子中,问题是服务器以“HW断电”的方式与docker容器一起消失了——没有像SIGTERM这样的信号,它取决于JaCoCo的输出(在docker容器中运行的JVM的末端)。
当我添加docker在docker容器内运行的命令“Kilall java”,并在容器关闭前稍作停顿时,exec文件就可以了。
我的代码运行在具有单独JVM的单独虚拟机上。我想在此虚拟机上以tcpserver模式设置JaCoCo代理以收集覆盖率数据。然后,我将在我的maven项目中以tcpclient模式设置JaCoCo代理,以连接到上面提到的VM并获取覆盖率数据。 问题是代理不收集任何覆盖数据。在中创建了覆盖率数据文件,但该文件为空。 下面是代理选项:-Java agent:/usr/xx/plugins/org . j
我在声纳中的代码覆盖率显示为0%,这不是真的,因为我有单元测试。 格拉德尔 当我打开inside然后我可以看到成功的单元测试。 我在Jenkins环境中运行作为
我执行Jacoco单元测试代码覆盖,它显示了单元测试中需要覆盖的所有代码。 如何避免测试覆盖显示ui代码,比如onCreate()、onAttach()中的代码(fragment)。我不想要视图的代码覆盖率,但jacoco也给出了这一点。我有办法消除它吗?
我有一个在Wildfly 9服务器上运行的Java Web应用程序,我使用jmeter-maven插件在我的应用程序的运行实例上运行一些性能测试。这些测试对应用程序的服务运行简单的 REST 请求。 我想做的是检索性能测试的代码覆盖率统计数据,这样我就可以知道我的性能测试的代码覆盖率。 在此之后,我在服务器上设置了JaCoCoJava代理。这是启动时的代理配置 此外,我在测试Maven项目上配置了
我正在将ANT构建转换为Maven。我不用声纳。 在Maven中,Jacoco似乎并没有报告单元测试本身的覆盖率,而ANT报告。我也一直在尝试为我的Maven build获得这个,但是我没有找到任何东西。 似乎我应该添加一个
我正在做一个大学项目,我需要覆盖当地法规,看看我的测试是否做得好。然而,netbeans控制台保持 --- jaco-maven-plugin:0.7.7.201606060606:报告(报告) @ 客户端服务提供器---由于缺少执行数据文件而跳过 JaCoCo 执行。 这是我的pom.xml