spring Boot項目集成jacoco 完成單元測試Coverage並上傳到snarqube

近期因工作需要,需對代碼覆蓋率進行統計,所以這篇就當做對這段時間學習的總結。

JaCoCo Java Code Coverage Library

Jacoco 是一個開源的覆蓋率工具。Jacoco 可以嵌入到 Ant 、Maven 中,並提供了 EclEmma Eclipse 插件,也可以使用 Java Agent 技術監控 Java 程序。很多第三方的工具提供了對 Jacoco 的集成,如:Sonar、Jenkins、IDEA.

1、首先在pom文件加入maven插件

<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.9</version>
				<configuration>
					<!--指定生成 .exec 文件的存放位置-->
					<destFile>target/coverage-reports/jacoco-unit.exec</destFile>
					<!--Jacoco 是根據 .exec 文件生成最終的報告,所以需指定 .exec 的存放路徑-->
					<dataFile>target/coverage-reports/jacoco-unit.exec</dataFile>
				</configuration>
				<executions>
					<execution>
						<id>jacoco-initialize</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>jacoco-site</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

2、在當前項目的根目錄下執行mvn test

3、maven會運行所有的測試,並生成exec文件到指定的目錄中(生成的文件位置在pom文件中配置好了)

4、我這裏已經安裝好了sonarScanner已經我的sonarServer已經部署到雲端了,所有,這裏我就直接給Sonar集成jacoco。在項目根目錄下新建sonar-project.properties,內容如下

#項目的key
sonar.projectKey=test   
#項目的名字(可以隨便寫,這個名字在sonar顯示的)
sonar.projectName=test-lsl
#項目的版本
sonar.projectVersion=2.0
#需要分析的源碼的目錄
sonar.sources=src/
#指定class文件所在的目錄(如果沒編譯可以不寫)
sonar.java.binaries=target/classes
#java語言
sonar.language=java
# 下面的這兩個參數作用是相同的,因爲有時我們需要指定某個文件夾或者忽略某個文件夾
# sonar.inclusions=src1/**,src3/**
sonar.exclusions=src/main/resources/public/**
# 源碼編碼,默認是系統編碼
sonar.sourceEncoding=UTF-8
# Set jacoco Configuration
# 指定代碼覆蓋率工具
sonar.core.codeCoveragePlugin=jacoco
# 指定exec二進制文件存放路徑
sonar.jacoco.reportPaths=target/coverage-reports/jacoco-unit.exec
# 以下屬性可選擇性加,當然也可以不加
sonar.dynamicAnalysis=reuseReports
sonar.jacoco.reportMissing.force.zero=false

5、在項目根目錄下執行sonar-scanner

-----------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 5:21.566s
INFO: Final Memory: 24M/880M
INFO: ------------------------------------------------------------------------

E:\worksoft\idea\jdy_v3.1\jindouyun>sonar-scanner
6、執行完畢,連接sonar-scanner看結果

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章