使用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