使用maven jacoco生成单元测试报告 并上传sonarQube
- 环境
jdk 8
eclipse Version: Oxygen.3a Release (4.7.3a) Build id: 20180405-1200
maven apache-maven-3.2.5
sonarQube 6.7
- maven 工程 pom配置
<!-- 解决覆盖率为0的问题 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.3</version>
<configuration>
<includes>
<include>**/*Test*.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>prepare-unit-test-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>jacoco-site</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>prepare-it-test-agent</id>
<configuration>
<propertyName>jacoco.agent.argLine</propertyName>
<append>true</append>
</configuration>
<goals>
<goal>prepare-agent-integration</goal>
</goals>
</execution>
<execution>
<id>jacoco-site-it</id>
<phase>verify</phase>
<goals>
<goal>report-integration</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<argLine>${jacoco.agent.argLine}</argLine>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src\main\java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src\main\resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.8</version>
</plugin>
</plugins>
</pluginManagement>
- 操作
-
步骤1:
mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true
注意使用本地maven运行 而不是eclipse默认maven
-
步骤2:查看target 目录下是否生成jacoco.exec文件
部分版本的maven、eclipse 会在如下目录 target/coverage-reports/jacici-ut.exec
具体可看运行日志查找 exec文件
使用maven jacoco生成单元测试报告 并上传sonarQube - 步骤3:将改文件拷贝到target 下 并修改名称为:jacoco.exec(已有该文件的可忽略该步骤) (有知道原因的可在下面留言交流)
- 步骤4:mvn sonar:sonar
- 步骤5 打开sonarQube查看即可
使用maven jacoco生成单元测试报告 并上传sonarQube