1. 程式人生 > >Spring基礎:快速入門spring boot(10):spring boot + sonarqube +jacoco

Spring基礎:快速入門spring boot(10):spring boot + sonarqube +jacoco

Spring基礎:快速入門spring boot(10):spring boot + sonarqube +jacoco
上篇文章我們瞭解到瞭如何使用SonarQube對建立的SpringBoot的應用進行分析,這篇文章來接著確認一些如何視覺化地確認測試覆蓋率。

SpringBootTest

需要測試覆蓋率,自然,在此之前需要有測試用例,在前面的例子中已經簡單講述了在SpringBoot應用中進行測試的方法。

Jacoco

Jacoco是Java Code Coverage Library的縮寫,詳細的原理這裡不再展開,本文重點講述一下如何使用,這裡在pom檔案中新增如下內容

	<profiles>
		<profile>
			<id>sonar-jacoco-coverage</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<groupId>org.jacoco</groupId>
							<artifactId>jacoco-maven-plugin</artifactId>
							<version>0.7.8</version>
						</plugin>
					</plugins>
				</pluginManagement>
				<plugins>
					<plugin>
						<groupId>org.jacoco</groupId>
						<artifactId>jacoco-maven-plugin</artifactId>
						<configuration>
							<append>true</append>
						</configuration>
						<executions>
							<execution>
								<id>jacoco-ut</id>
								<goals>
									<goal>prepare-agent</goal>
								</goals>
							</execution>
							<execution>
								<id>jacoco-it</id>
								<goals>
									<goal>prepare-agent-integration</goal>
								</goals>
							</execution>
							<execution>
								<id>jacoco-site</id>
								<phase>verify</phase>
								<goals>
									<goal>report</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

執行命令

執行如下命令則可完成單體測試以及結合sonar對jacoco生成出來的內容進行分析與顯示,當然,會下載jacoco-maven-plugin進行實際的操作。

Step 1: mvn test

Step 2: mvn sonar:sonar -Dsonar.host.url=http://localhost:32003

結果確認

可以看到demo的springbootdemo應用已經變成橙色了
在這裡插入圖片描述

測試覆蓋率和測試用例

這次執行的結果中已經看到了Coverage的內容,20%的測試覆蓋率,1個測試用例
在這裡插入圖片描述

測試覆蓋資訊詳細

在這裡插入圖片描述

參考內容

https://www.eclemma.org/jacoco/trunk/index.html