怎么使用Jacoco統(tǒng)計(jì)服務(wù)端代碼覆蓋率,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比秀洲網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式秀洲網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋秀洲地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
使用 Python + Coverage 來(lái)統(tǒng)計(jì)測(cè)試用例的代碼覆蓋率
Jacoco 針對(duì) Java 語(yǔ)言的一款開源的覆蓋率工具,可以嵌入到 Maven、Gradle 中,提供多種尺度的覆蓋率計(jì)數(shù)器,比如:類覆蓋、行覆蓋、分支覆蓋等
本篇將聊聊服務(wù)端代碼的覆蓋率統(tǒng)計(jì),以 Spring Boot 項(xiàng)目為例,使用 Jacoco + junit 來(lái)統(tǒng)計(jì)服務(wù)端的代碼覆蓋率
首先使用 IDEA 創(chuàng)建一個(gè) Spring Boot 項(xiàng)目( Maven ),以之前 構(gòu)建 RESTFul API 的項(xiàng)目 代碼為基礎(chǔ)
然后,配置 pom.xml 文件,為當(dāng)前項(xiàng)目新增 jacoco 依賴 JAR 包
<!--pom.xml-->
<!--jacoco依賴-->
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.5</version>
</dependency>
jacoco 版本可以參考:
https://www.eclemma.org/jacoco/index.html
接著,配置 Jacoco 插件及相關(guān)的 goal,使用 includes 和 excludes 兩個(gè)關(guān)鍵字設(shè)定包含或排除的類路徑
比如:這里只統(tǒng)計(jì) com.xingag.api.service 下面的類
<!--pom.xml-->
<!--配置Jacoco插件信息--><plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.5</version>
<configuration>
<includes>
<!--只包含com/xingag/api/service/下面的類-->
com/xingag/api/service/*
</includes>
</configuration>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>check</id>
<goals>
<goal>check</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
最后,點(diǎn)擊右上角的 Maven 同步,下載依賴并配置項(xiàng)目
//ScoreServiceImpl.java
package com.xingag.api.service;
//被測(cè)代碼
public class ScoreServiceImpl {
public String getScoreLevel(int score) {
String result;
if (score > 90) {
result = "優(yōu)秀";
} else if (score < 90 && score >= 75) {
result = "良好";
} else if (score >= 60) {
result = "合格";
} else if (score > 40) {
result = "不合格";
} else if (score >= 0) {
result = "差";
} else {
result = "成績(jī)格式不正確";
}
return result;
}
}
//ScoreTests
//測(cè)試類
@RunWith(SpringRunner.class)
@SpringBootTest
public class ScoreTests {
...
}
//ScoreTests.java
//定義測(cè)試方法
//成績(jī)優(yōu)秀
@Test
public void testLevelA() {
Assert.assertEquals(RESULT_LEVEL[0], scoreService.getScoreLevel(95));
}
//成績(jī)良好
@Test
public void testLevelB() {
Assert.assertEquals(RESULT_LEVEL[1], scoreService.getScoreLevel(80));
}
//成績(jī)及格
@Test
public void testLevelC() {
Assert.assertEquals(RESULT_LEVEL[2], scoreService.getScoreLevel(70));
}
用瀏覽器打開統(tǒng)計(jì)報(bào)告文件夾中的 index.html 文件,可以很直觀的查看單元測(cè)試覆蓋率及對(duì)應(yīng)測(cè)試類的具體覆蓋范圍
看完上述內(nèi)容,你們掌握怎么使用Jacoco統(tǒng)計(jì)服務(wù)端代碼覆蓋率的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
分享標(biāo)題:怎么使用Jacoco統(tǒng)計(jì)服務(wù)端代碼覆蓋率
URL鏈接:http://sd-ha.com/article4/jossie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、虛擬主機(jī)、微信公眾號(hào)、微信小程序、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)