Sonarqube 声纳单元测试覆盖范围被破坏
我们将Sonar从3.7.x版升级到4.1.2版和4.3.2版,发现单元测试覆盖范围被破坏 单元测试覆盖率%字段为空,而单元测试成功率显示为100% 对于测试,我设置了一个声纳测试实例3.7.4版,报告运行良好 有什么想法吗?几个月后:-)我也有同样的想法-现在看来您需要明确设置覆盖范围(集成测试的故障保护插件总是这样) 最简单的方法是在声纳配置文件中使用jacoco maven插件,然后将surefire/failsafe插件保持正常(即,不要在声纳配置文件中覆盖)。注;如果您在任一插件中使用argLine来处理其他内容,那么将其指定为。只需在单元和集成中添加以下内容:Sonarqube 声纳单元测试覆盖范围被破坏,sonarqube,Sonarqube,我们将Sonar从3.7.x版升级到4.1.2版和4.3.2版,发现单元测试覆盖范围被破坏 单元测试覆盖率%字段为空,而单元测试成功率显示为100% 对于测试,我设置了一个声纳测试实例3.7.4版,报告运行良好 有什么想法吗?几个月后:-)我也有同样的想法-现在看来您需要明确设置覆盖范围(集成测试的故障保护插件总是这样) 最简单的方法是在声纳配置文件中使用jacoco maven插件,然后将surefire/failsafe插件保持正常(即,不要在声纳配置文件中覆盖)。注;如果您在任一插件中使用
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.2.201409121644</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-prepare-agent-integration</id>
<goals>
<goal>prepare-agent-integration</goal>
</goals>
</execution>
</executions>
</plugin>
org.jacoco
jacocomaven插件
0.7.2.201409121644
默认准备代理
配制剂
默认准备代理集成
准备代理集成
不太有利的选择 我首先使用了与以前使用failsafe(使用argLine和对jacoco的依赖)相同的有点笨拙的方式来实现单元覆盖,包括:
0.7.2.201409121644
${project.basedir}/target/report/jacoco-unittest.exec
${project.basedir}/target/report/jacoco-integrationtest.exec
以及:
org.apache.maven.plugins
maven surefire插件
2.16
-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${version.jacoco}/org.jacoco.agent-${version.jacoco}-runtime.jar=destfile=${sonar.jacoco.reportPath}
假的
假的
**/*IntegrationTest.java
**/*Test.java
org.jacoco
org.jacoco.agent
${version.jacoco}
运行时
假的
测试
<properties>
<version.jacoco>0.7.2.201409121644</version.jacoco>
<sonar.jacoco.reportPath>${project.basedir}/target/report/jacoco-unittest.exec</sonar.jacoco.reportPath>
<sonar.jacoco.itReportPath>${project.basedir}/target/report/jacoco-integrationtest.exec</sonar.jacoco.itReportPath>
</properties>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${version.jacoco}/org.jacoco.agent-${version.jacoco}-runtime.jar=destfile=${sonar.jacoco.reportPath}</argLine>
<parallel>false</parallel>
<testFailureIgnore>false</testFailureIgnore>
<excludes>
<exclude>**/*IntegrationTest.java</exclude>
</excludes>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
<dependencies>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.agent</artifactId>
<version>${version.jacoco}</version>
<classifier>runtime</classifier>
<optional>false</optional>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>