日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

瀏覽:125日期:2024-07-30 15:49:52

在后臺工程師開發(fā)完新代碼交給QA進(jìn)行測試時(shí),軟件測試人員一般都會要求后臺開發(fā)對單元測試的覆蓋率達(dá)到一定的標(biāo)準(zhǔn);例如我們的標(biāo)準(zhǔn)是分支覆蓋率達(dá)到50%以上,函數(shù)覆蓋率達(dá)到50%以上。

在idea中查看覆蓋率挺簡單的,idea中支持三種插件來查看覆蓋率,每種插件統(tǒng)計(jì)明細(xì)各有千秋,分別是idea自帶插件、JaCoCo、Emma。

在idea中打開一個(gè)測試類,點(diǎn)擊右上角“Edit Configurations”按鈕,如下圖所示:

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

然后會彈出一個(gè)框,左側(cè)菜單欄顯示JUnit欄目,右邊我們選擇“Code Coverage'選項(xiàng)卡,下面有一個(gè)”choose coverage runner“下拉菜單,默認(rèn)是idea自帶的,我們可以切換成其他的(只不過需要在pom中配置一下),如下圖所示:

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

idea默認(rèn)自帶的插件,統(tǒng)計(jì)出來的覆蓋率只包含classes、method、line,不太詳細(xì),不能滿足我們的要求;所以一般使用JaCoCo插件來統(tǒng)計(jì),我們切換成JaCoCo插件以后,緊接著在maven的pom文件中這樣配置:

(1)添加依賴

<dependency> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.2</version></dependency>

(2)配置plugins

<plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.2</version> <configuration> <destFile>target/coverage-reports/jacoco-unit.exec</destFile> <dataFile>target/coverage-reports/jacoco-unit.exec</dataFile> <includes> <include>**/service/**</include> <include>**/controller/**</include> <!--<include>**/service/impl/*.class</include>--> </includes> <!-- rules里面指定覆蓋規(guī)則 --> <rules> <rule implementation='org.jacoco.maven.RuleConfiguration'> <element>BUNDLE</element> <limits> <!-- 指定方法覆蓋到50% --> <limit implementation='org.jacoco.report.check.Limit'> <counter>METHOD</counter> <value>COVEREDRATIO</value> <minimum>0.50</minimum> </limit> <!-- 指定分支覆蓋到50% --> <limit implementation='org.jacoco.report.check.Limit'> <counter>BRANCH</counter> <value>COVEREDRATIO</value> <minimum>0.50</minimum> </limit> <!-- 指定類覆蓋到100%,不能遺失任何類 --> <limit implementation='org.jacoco.report.check.Limit'> <counter>CLASS</counter> <value>MISSEDCOUNT</value> <maximum>0</maximum> </limit> </limits> </rule> </rules> </configuration> <executions> <execution> <id>jacoco-initialize</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <!--這個(gè)check:對代碼進(jìn)行檢測,控制項(xiàng)目構(gòu)建成功還是失敗--> <execution> <id>check</id> <goals> <goal>check</goal> </goals> </execution> <!--這個(gè)report:對代碼進(jìn)行檢測,然后生成index.html在 target/site/index.html中可以查看檢測的詳細(xì)結(jié)果--> <execution> <id>jacoco-site</id> <phase>package</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin>

如果你想使用idea自帶的插件,查看簡單的覆蓋率數(shù)據(jù),可以直接在測試類上右鍵點(diǎn)擊”Run ‘xxxxxTest’ with Coverage',如下圖所示:

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

當(dāng)JaCoCo插件配置好以后,要獲得 JaCoCo的統(tǒng)計(jì)數(shù)據(jù),就要執(zhí)行mvn install 命令。執(zhí)行完以后,target/site/jacoco/目錄下會生成一個(gè)index.html文件,這是統(tǒng)計(jì)數(shù)據(jù)總覽頁面,可以在瀏覽器打開查看,如下圖所示:

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

由于我們在pom文件的plugin里面配置了rule規(guī)則和check 目標(biāo),所以在覆蓋率不滿足的情況下,mvn install是不會成功的,并且會報(bào)錯(cuò):

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

另一個(gè)需要注意的是我在rule中配置的規(guī)則,有的是 COVEREDRATIO,有的是MISSEDCOUNT,這說明有的統(tǒng)計(jì)的是覆蓋率,有的統(tǒng)計(jì)的是丟失率(也即未覆蓋到的),你可別看錯(cuò)了。

配置JaCoCo插件一定注意和JDK版本的對應(yīng)關(guān)系,如果你用的是jdk1.8,則插件一定要用最新版,要不然會報(bào)如下錯(cuò)誤:

Caused by: java.lang.RuntimeException: Class java/util/UUID could not be instrumented. at org.jacoco.agent.rt.internal_5d10cad.core.runtime.ModifiedSystemClassRuntime.createFor(ModifiedSystemClassRuntime.java:138) at org.jacoco.agent.rt.internal_5d10cad.core.runtime.ModifiedSystemClassRuntime.createFor(ModifiedSystemClassRuntime.java:99) at org.jacoco.agent.rt.internal_5d10cad.PreMain.createRuntime(PreMain.java:51) at org.jacoco.agent.rt.internal_5d10cad.PreMain.premain(PreMain.java:43) ... 6 moreCaused by: java.lang.NoSuchFieldException: $jacocoAccess at java.lang.Class.getField(Class.java:1542) at org.jacoco.agent.rt.internal_5d10cad.core.runtime.ModifiedSystemClassRuntime.createFor(ModifiedSystemClassRuntime.java:136) ... 9 moreFATAL ERROR in native method: processing of -javaagent failedException in thread 'main'

補(bǔ)充:Intellij IDEA run coverage之覆蓋率測試

一.選擇覆蓋率報(bào)表工具

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

二.運(yùn)行測試用例

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

三.查看覆蓋率報(bào)表

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

四.下載查看報(bào)表

點(diǎn)擊這個(gè)

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

勾選open

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

查看報(bào)表

在idea中使用JaCoCo插件統(tǒng)計(jì)單元測試覆蓋率的實(shí)現(xiàn)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: IDEA
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品jk白丝蜜臀av小说| 亚洲黄色免费看| 99久久久久| 影视先锋久久| 视频一区中文| 成人羞羞视频在线看网址| 激情国产在线| 国产精品精品| 一区二区三区四区日本视频| 欧美激情国产在线| 成人日韩在线| 久久高清精品| 欧美手机在线| 国产亚洲精品v| 男人的天堂久久精品| 伊人久久一区| 青青在线精品| 久久精品国产福利| 在线精品亚洲欧美日韩国产| 精品免费av在线| 国产高清不卡| 群体交乱之放荡娇妻一区二区| 亚洲天堂黄色| 在线精品视频一区| 国产精品xxx在线观看| 日本久久综合| 99精品综合| 蜜桃伊人久久| 久久精品999| 福利视频一区| 日韩精品欧美激情一区二区| 亚洲经典在线| 日韩三区四区| 精品免费视频| 99久久久久| 蜜桃视频在线观看一区| 日本精品久久| 国产精品久久久久久久免费观看| 欧美日韩中文一区二区| 蜜桃一区二区三区在线| 欧美激情aⅴ一区二区三区 | 五月天综合网站| 视频一区视频二区中文字幕| 欧美日本久久| 亚洲精品在线影院| 免费看精品久久片| 麻豆精品蜜桃视频网站| www.com.cn成人| 丝袜美腿一区二区三区| 久久99青青| 欧美1级日本1级| 日韩高清一级| 日韩欧美中文| 日本精品国产| 久久国产中文字幕| 欧美在线91| 欧美亚洲国产一区| 国产日韩欧美中文在线| 亚洲大片在线| 国产日韩一区二区三区在线| 91精品一区国产高清在线gif| 亚州av一区| 国产成人精品免费视| 视频一区二区中文字幕| 精品少妇av| 久久电影一区| 日本久久精品| 亚洲精品大全| 久久久久国产精品一区二区| 日韩av一区二区三区四区| 色老板在线视频一区二区| 日韩成人精品一区二区三区| 久久久久久久久久久9不雅视频| 69堂免费精品视频在线播放| 99国产精品一区二区| 国产调教一区二区三区| 99视频精品| 你懂的亚洲视频| 亚洲免费成人| 精品视频在线观看网站| 亚洲免费观看高清完整版在线观| 国产精品久久久久久久免费观看| 亚洲精品欧洲| 国产在线不卡| 成人午夜毛片| 国产一精品一av一免费爽爽| 宅男噜噜噜66国产日韩在线观看| 高清不卡一区| 91嫩草精品| 免费中文字幕日韩欧美| 电影亚洲精品噜噜在线观看| 国产精品一卡| 亚洲综合电影一区二区三区| 国产传媒av在线| 国产乱人伦丫前精品视频| 丝袜美腿成人在线| 国产综合欧美| 天堂8中文在线最新版在线| 国产欧美88| 日韩一区二区三区免费视频 | 精品精品国产三级a∨在线| 日韩精品乱码av一区二区| 中文在线不卡| 天堂av在线| 黄色欧美在线| 日韩av中文字幕一区二区三区| 99久久婷婷| av日韩中文| 卡一精品卡二卡三网站乱码| 日韩激情精品| 亚洲精品第一| 亚洲日本三级| 首页国产欧美久久| 欧美日韩在线观看视频小说| 电影亚洲精品噜噜在线观看| yellow在线观看网址| 久久精品欧洲| 国产激情精品一区二区三区| 日本欧美大码aⅴ在线播放| 综合一区av| 亚洲精品人人| 性色一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产一区二区三区不卡视频网站| 国产精品极品在线观看| 欧美一级二级三级视频| 日韩高清三区| 国产三级一区| 久久这里只有精品一区二区| 精品中国亚洲| 精品一区二区三区中文字幕视频 | 日韩中文字幕| 奇米色欧美一区二区三区| 日韩av在线免费观看不卡| 91福利精品在线观看| 欧美一区激情| 欧美黄色一区二区| 水蜜桃精品av一区二区| 蜜桃视频在线网站| 亚洲成人不卡| 欧美高清不卡| 国产精品婷婷| 亚洲精品国产精品粉嫩| 日本a级不卡| 国产精品成人国产| 97精品国产| 免费av一区二区三区四区| 欧美特黄一区| 亚州欧美在线| 免费亚洲一区| 日韩专区精品| 久久不射中文字幕| 91亚洲精品视频在线观看| 久久精品国产99国产| 麻豆久久一区二区| 日韩精品永久网址| 夜夜嗨网站十八久久| 亚洲精品无播放器在线播放| 欧美天堂一区| 在线人成日本视频| 激情综合网站| 日本成人中文字幕在线视频| 你懂的国产精品| 99精品视频精品精品视频| 天堂av在线一区| 国产精品nxnn| 国产精品av久久久久久麻豆网| 亚洲区国产区| 精品国产成人| 婷婷成人在线| 亚洲精品无吗| 国产一区二区三区亚洲| 99国产精品免费视频观看| 亚洲一区二区日韩| 国产精一区二区| 久久蜜桃精品| 日韩在线黄色| 天堂av在线| 五月亚洲婷婷 | 国产精品videossex久久发布| 日韩精品久久久久久久电影99爱| 蜜臀久久99精品久久久久久9 | 欧美天堂亚洲电影院在线观看| 日本不卡视频一二三区| 国产一区不卡| 在线精品亚洲| 成人国产综合| 丝袜美腿一区二区三区| 国产精品久久久久久久久免费高清 | 四虎4545www国产精品| 蜜桃视频免费观看一区| 成人台湾亚洲精品一区二区| 久久国产88| 精品高清久久| 亚洲免费毛片| 久久影视一区| 国产精品一区亚洲| 久久国产影院| 久久av网址| 鲁大师影院一区二区三区|