精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

超詳細!手把手教你用 JaCoCo 生成單測覆蓋率報告!

開發 前端
Surefire 插件主要是運行單測,生成單測數據。對于 JaCoCo 插件而言,其作用是基于 Surefire 插件去生成可視化的報告。JaCoCo 插件需要基于 Surefire 插件使用,如果去掉 Surefire 插件,JaCoCo 就生成不了報告了。

我們都知道 Spock 是一個單測框架,其特點是語法簡明。但當我們使用 Spock 寫了一堆單元測試之后,如何生成對應的單測覆蓋率報告呢?一般來說,我們會使用兩個插件來一起完成單測覆蓋率報告的生成,分別是:

  • Maven Surefire Plugin
  • JaCoCo Plugin

其中 Maven Surefire Plugin 是用來在 Maven 的編譯階段運行單測代碼,而 JaCoCo 則是用來生成具體的單測覆蓋率報告。本文將新建一個非 Web 項目來演示如何生成 Spock 的單測覆蓋率報告。

初始化項目

這里初始化項目一個普通的 Java 項目,并引入對應的 Spock 依賴,如下代碼所示:

<!-- spock 依賴-->
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-core</artifactId>
<version>2.0-M2-groovy-3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.6.2</version>
<scope>test</scope>
</dependency>

接著寫一個計算器類,用于演示單測覆蓋率,如下代碼所示:

package tech.shuyi;

public class AdvancedCalculator {
Integer add(int a, int b) {
return a + b;
}

Integer subtract(int a, int b) {
return a - b;
}

Integer multi(int a, int b) {
return a * b;
}

Integer divide(int a, int b) {
return a / b;
}
}

接著在 test.groovy.tech.shuyi 目錄寫一個 Groovy 單測,如下代碼所示:

package tech.shuyi

import spock.lang.Specification

class AdvancedCalculatorTest extends Specification {

def calendar = new AdvancedCalculator()

def "Add"() {
expect: calendar.add(1, 2) == 3
}

def "Substract"() {
expect: calendar.subtract(2, 1) == 1
}

def "Multi"() {
expect: calendar.multi(2, 3) == 6
}

def "Divide"() {
expect: calendar.divide(16, 4) == 4
}
}

接著我們嘗試運行一下單測文件,如無異常應該是成功的。

引入插件

在這里,我們要引入對應的兩個插件,并做一些簡單地配置。

首先,在 pom.xml 文件引入 Surefire 插件配置,如下代碼所示:

<!-- surefire plugin with spock and junit -->
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<version>1.9.0</version>
<executions>
<execution>
<goals>
<goal>compileTests</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M7</version>
<configuration>
<!-- 配置單測失敗幾次后停止執行 -->
<skipAfterFailureCount>0</skipAfterFailureCount>
<!-- 不允許跳過單測 -->
<skipTests>false</skipTests>
</configuration>
</plugin>

接著引入 JaCoCo Plugin 的配置,如下代碼所示:

<!-- JaCoCo plugin -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<configuration>
<includes>
<include>tech/**/*</include>
</includes>
</configuration>
<executions>
<execution>
<id>pre-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>post-test</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>

生成報告

做好上述報告后,直接執行 mvn test? 就可以生成單測覆蓋率報告了。如果沒有什么異常的話,程序會生成單測覆蓋率報告文件,地址為:target/site/jacoco/index.html。

我們使用瀏覽器打開該文件可以瀏覽到單測覆蓋率情況,如下圖所示:

圖片

單測覆蓋率報告

疑問

關于如何配置這兩個插件的資料很多,但都運行不起來。后面我參考了官網的配置,就成功配置好了。

  • Surefire Plugin 官網文檔:Maven Surefire Plugin – Introduction
  • JaCoCo Plugin 官網文檔:JaCoCo - Maven Plug-in

但對于這兩個插件,我還是有一定疑問的,例如:

  • 這兩個插件到底都是啥作用?
  • 是否一定要搭配一起使用?

通過 Surefire 插件官網,我們可以大概知道其作用為:在編譯的 test 階段,用于執行程序的單元測試,最終生成 txt? 和 xml? 格式的報告,存放地址為 ${basedir}/target/surefire-reports/TEST-*.xml。

由此可見,Surefire 的主要作用還是用于執行程序的單測程序,而不是生成報告。當然,官網文檔也說了,你可以使用 Maven Surefire Report Plugin 來生成 HTML 格式的報告。我根據這個文檔(Maven Surefire Report Plugin – Usage)配置了一下 surefire-report 插件,成功地生成 HTML 格式的報告,如下圖所示。

圖片

surefire-report 插件生成的 HTML 報告

可以看到 surefire-report 插件生成的 HTML 報告還是比較簡陋的,跟 JaCoCo 插件生成的相比,顯然后者更加可視化一些。

看到這里,我相信大家應該能弄明白前面兩個問題了:

  • 這兩個插件到底都是啥作用?
  • 是否一定要搭配一起使用?

簡單地說,Surefire 插件主要是運行單測,生成單測數據。對于 JaCoCo 插件而言,其作用是基于 Surefire 插件去生成可視化的報告。JaCoCo 插件需要基于 Surefire 插件使用,如果去掉 Surefire 插件,JaCoCo 就生成不了報告了。

責任編輯:武曉燕 來源: 樹哥聊編程
相關推薦

2021-08-09 13:31:25

PythonExcel代碼

2022-10-19 14:30:59

2021-03-02 09:05:13

Python

2021-02-04 09:00:57

SQLDjango原生

2011-03-28 16:14:38

jQuery

2021-02-06 14:55:05

大數據pandas數據分析

2022-08-04 10:39:23

Jenkins集成CD

2018-12-29 09:38:16

Python人臉檢測

2009-04-22 09:17:19

LINQSQL基礎

2021-05-10 06:48:11

Python騰訊招聘

2021-01-21 09:10:29

ECharts柱狀圖大數據

2021-01-08 10:32:24

Charts折線圖數據可視化

2021-12-11 20:20:19

Python算法線性

2020-03-08 22:06:16

Python數據IP

2012-01-11 13:40:35

移動應用云服務

2021-02-02 13:31:35

Pycharm系統技巧Python

2021-08-02 23:15:20

Pandas數據采集

2017-10-27 10:29:35

人臉識別UbuntuPython

2021-06-05 23:51:21

ECharts氣泡圖散點圖

2017-10-29 21:43:25

人臉識別
點贊
收藏

51CTO技術棧公眾號

噜噜爱69成人精品| 日韩精品免费一区二区夜夜嗨| 中文字幕日韩精品一区| 91青青草免费观看| 青青青国产在线| 日韩成人激情| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 嫩草影院国产精品| 在线xxxx| 国产精品丝袜一区| 福利视频久久| 中文字幕一区二区三区四区免费看 | 国产中文字幕乱人伦在线观看| 欧美一区二区视频| 国产91综合一区在线观看| 国产精品1234| 国产精品50页| 我不卡手机影院| 国产视频一区在线| 亚洲av无一区二区三区久久| 写真福利精品福利在线观看| 亚洲精品欧美在线| 亚洲欧洲国产日韩精品| 亚洲色图狠狠干| 国产精品中文字幕日韩精品| 国产精品久久久999| 亚洲一区二区91| 91精品国产91久久久久久黑人| 日韩av网址在线| 丰满少妇一区二区三区专区| 精品久久久网| 色婷婷亚洲一区二区三区| 男女日批视频在线观看| 黄色成人在线| 国产精品热久久久久夜色精品三区| 久久久久网址| 好吊色在线观看| 国产精品一区二区久久不卡| 国产日韩中文字幕在线| a片在线免费观看| 日韩精品91亚洲二区在线观看 | 不卡电影一区二区三区| 91久久国产精品91久久性色| 在线观看视频中文字幕| 三级欧美韩日大片在线看| 69视频在线播放| 日韩 欧美 精品| 最新国产乱人伦偷精品免费网站| 欧美乱人伦中文字幕在线| 丝袜 亚洲 另类 欧美 重口| 欧美gay男男猛男无套| 中文字幕亚洲专区| 九九热免费在线| 日韩久久精品网| 中文字幕亚洲欧美日韩在线不卡| 中文字幕有码在线播放| 国产一区二区三区不卡视频网站| 亚洲欧美一区二区三区在线| 国产三级视频网站| 国产精品三级| 伊人伊成久久人综合网站| 亚洲一区二区三区日韩| 欧美亚洲高清| 日韩中文字幕国产| www欧美com| 在线中文字幕亚洲| 国语自产在线不卡| 日本特级黄色片| 久久免费高清| 成人两性免费视频| 性生交大片免费看女人按摩| 成人激情免费网站| 欧美一区少妇| 亚洲成人三级| 一区二区三区免费在线观看| 国产欧美日韩网站| 久久青青视频| 欧美高清视频在线高清观看mv色露露十八 | sm性调教片在线观看 | 欧美成人剧情片在线观看| 久久久久成人网站| 国产日韩一区二区三区在线播放 | 亚洲国产伊人| 精品成人在线观看| 久久久久久久久久久久| 婷婷综合伊人| 97香蕉久久超级碰碰高清版| 国产三级精品三级在线观看| 国产综合久久久久影院| 国产久一道中文一区| 黄上黄在线观看| 亚洲天堂av一区| 波多野结衣综合网| 欧美福利在线播放| 欧美不卡一区二区| 国产高清一区二区三区四区| 亚洲第一天堂| 青青草国产精品一区二区| 亚洲专区在线播放| 91香蕉视频mp4| 日本久久高清视频| 三级成人黄色影院| 日韩欧美国产一区二区在线播放 | av在线不卡顿| 久久久久成人精品| 91精品国产乱码久久| 99久久久国产精品免费蜜臀| 三年中文高清在线观看第6集| av最新在线| 欧美久久一区二区| 亚洲一区视频在线播放| 亚洲国产日韩欧美一区二区三区| 国产欧美日韩中文字幕在线| 日本精品999| 自拍偷在线精品自拍偷无码专区| 日韩精品视频久久| 亚洲日本一区二区三区在线| 日韩在线视频线视频免费网站| 男女视频免费看| 国产精品一区二区免费不卡| 亚洲欧洲一二三| 欧美成人a交片免费看| 亚洲电影第1页| 曰本女人与公拘交酡| 欧美aaaaaa午夜精品| 欧美成人dvd在线视频| 激情av在线| 欧美一区在线视频| 特黄一区二区三区| 日韩精品色哟哟| 欧美久久久久久久| 涩涩涩在线视频| 精品国产91久久久久久久妲己| 国产精品99久久久久久成人| 蜜臀av一级做a爰片久久| 欧美日韩免费高清| 樱花草涩涩www在线播放| 亚洲国产精品久久久| 国产这里有精品| 激情久久五月天| 一级做a爰片久久| 国产成人精品一区二区三区在线| 亚洲视频在线看| 日本a级c片免费看三区| 久久女同精品一区二区| 日韩黄色片视频| 国产成人精品免费视| 青青久久av北条麻妃黑人| 青青草在线播放| 色哟哟精品一区| 久久久视频6r| 老色鬼精品视频在线观看播放| 色婷婷精品国产一区二区三区| 88xx成人免费观看视频库| 亚洲视屏在线播放| 中文字幕人妻一区二区在线视频 | 日韩女优在线观看| 波波电影院一区二区三区| 2018国产在线| 天堂日韩电影| 国产精品久久久久久久久久东京 | 91精品国产99| 免费在线一级视频| 在线观看区一区二| 很污很黄的网站| 国产精品一区一区| 精品无码国模私拍视频| 亚洲最好看的视频| 国产综合色香蕉精品| 性xxxfreexxxx性欧美| 亚洲国产精彩中文乱码av在线播放| 久久久久久久久影院| 国产亚洲欧美在线| 91视频这里只有精品| 欧美全黄视频| 久久亚洲午夜电影| 国产欧美在线观看免费| 欧美大肥婆大肥bbbbb| 四虎永久在线观看| 欧美艳星brazzers| 青青草在线观看视频| 91麻豆精品秘密| 视频在线观看免费高清| 狠狠爱www人成狠狠爱综合网| 精品产品国产在线不卡| 99re久久| 欧美精品999| eeuss影院在线播放| 日韩一级免费观看| 国内自拍视频在线播放| 亚洲欧美在线观看| 三级视频网站在线观看| 日韩黄色小视频| 国产乱子伦精品无码专区| 九九免费精品视频在线观看| 91精品在线播放| 成人影院av| 欧美黑人性生活视频| 川上优的av在线一区二区| 欧美va亚洲va在线观看蝴蝶网| 国产精品自拍99| 亚洲欧美一区二区在线观看| 免费黄色三级网站| 国内久久精品视频| 日韩欧美xxxx| 亚洲福利久久| 真人做人试看60分钟免费| 禁果av一区二区三区| 国产免费一区| 亚洲精品第一| 国产不卡精品视男人的天堂| 黄色成人在线网| 久久伊人色综合| 狠狠v欧美ⅴ日韩v亚洲v大胸| 精品美女在线观看| 国产精品无码在线播放| 在线日韩一区二区| 欧美亚洲精品天堂| 亚洲一区二区欧美日韩| 精品国产国产综合精品| 国产亚洲美州欧州综合国| 午夜男人的天堂| 国产福利一区二区三区视频| 潘金莲激情呻吟欲求不满视频| 丝袜美腿亚洲综合| 精品中文字幕av| 99成人精品| 欧美一级免费播放| 欧美理论在线| 毛片在线视频观看| 久久精品青草| 国产精品夜夜夜爽张柏芝| 成人一区二区| 日本中文不卡| 黄色不卡一区| 欧美在线视频一区二区三区| 国偷自产av一区二区三区| 国产99在线免费| 91亚洲精品视频在线观看| 亚洲自拍小视频| 久久亚洲精精品中文字幕| 91久久久久久久| 国产视频一区二区在线播放| 国产精品偷伦视频免费观看国产 | 欧美综合天天夜夜久久| 波多野结衣绝顶大高潮| 色综合夜色一区| 国产精品久久久久久人| 91成人在线观看喷潮| 在线永久看片免费的视频| 一本一道久久a久久精品综合蜜臀| 国产美女激情视频| 色综合天天狠狠| 精品乱码一区内射人妻无码| 日本韩国欧美一区二区三区| 成人黄色激情视频| 欧美日韩亚州综合| 97人妻精品一区二区三区动漫| 91精品国产欧美日韩| 亚洲AV无码精品色毛片浪潮| 亚洲电影免费观看高清| 五月婷婷伊人网| 亚洲丝袜av一区| 欧洲日本在线| 久久91亚洲精品中文字幕| 51精品在线| 国产成人亚洲精品| 国产一区二区高清在线| 国产精品裸体一区二区三区| 日韩大胆成人| 一区二区成人国产精品| 欧美91精品| 日韩av黄色网址| 麻豆精品蜜桃视频网站| 久久久久亚洲av无码麻豆| 成人国产精品免费观看| 国产熟女一区二区| 亚洲精品伦理在线| 精品免费囯产一区二区三区 | 天堂中文av在线| 高清在线观看日韩| 国产交换配乱淫视频免费| 国产精品美女久久久久久久久 | 在线观看免费视频你懂的| 77777少妇光屁股久久一区| 97精品国产综合久久久动漫日韩 | 人妻偷人精品一区二区三区| 亚洲人永久免费| 黄网站在线免费看| 欧美一级免费视频| 韩国三级大全久久网站| 欧美不卡福利| 欧美日韩三区| 91色国产在线| 不卡av免费在线观看| 国产大屁股喷水视频在线观看| 亚洲国产色一区| 一本色道久久综合精品婷婷| 亚洲国产精品免费| 毛片av在线| 国产成人亚洲综合91| 国产精品黄网站| 婷婷视频在线播放| 久久一区国产| 高清中文字幕mv的电影| 国产精品色婷婷久久58| 中文字幕亚洲高清| 日韩一级片在线播放| 在线观看免费黄色| 欧洲一区二区视频| 成人免费在线电影网| 亚洲第一精品区| 日韩成人一级片| 中文字幕无码人妻少妇免费| 亚洲精品视频自拍| 国产免费高清av| 亚洲性猛交xxxxwww| 小视频免费在线观看| av一区二区三区免费| 97精品国产| 日本中文字幕精品—区二区| 久久久欧美精品sm网站| 久久久久久久久久免费视频 | 黄色成人在线网站| 免费精品99久久国产综合精品应用| 久久久亚洲欧洲日产国码αv| 国产一级在线播放| 日韩精品一区二区三区在线观看 | 午夜影院免费视频| 欧美激情一区二区三区成人| 国产精一区二区| 国产精品99久久久久久大便| 久久精品国产**网站演员| 中文字幕有码在线播放| 在线观看亚洲一区| 成年人在线观看| 国产精品久久久久久久久久小说 | www.91精品| 综合久久国产| 国内久久精品视频| 日韩高清dvd碟片| 日韩一区二区三区观看| 亚洲综合影视| 动漫精品视频| 99视频一区| 熟女少妇一区二区三区| 色香色香欲天天天影视综合网| 色中色在线视频| 国产成人福利视频| 欧美特黄一级大片| 亚洲欧美日本一区二区| 亚洲精品v日韩精品| www日本高清视频| 国内精品视频久久| 亚洲精品动态| 浓精h攵女乱爱av| 中文字幕制服丝袜成人av | 红桃一区二区三区| 精品一区二区三区蜜桃| 5566中文字幕| 欧美高清视频不卡网| 大地资源网3页在线观看| 91视频在线免费观看| 极品中文字幕一区| 国产又爽又黄无码无遮挡在线观看| 欧美性极品少妇精品网站| 国模吧精品人体gogo| 国产视频观看一区| 欧美国产日本| 99久久免费看精品国产一区| 色婷婷狠狠综合| 快射视频在线观看| 粉嫩av四季av绯色av第一区| 中文一区二区| 手机看片国产日韩| 日韩午夜在线影院| 无遮挡在线观看| 亚洲欧美日韩精品在线| 顶级嫩模精品视频在线看| 国产www在线| 精品国产依人香蕉在线精品| 亚洲一区二区三区四区电影 | 97成人资源| 永久域名在线精品| jlzzjlzz国产精品久久| 进去里视频在线观看| 欧美激情videos| 欧美人与拘性视交免费看| 中文字幕一区二区在线观看视频| 亚洲一区二区三区四区在线免费观看 | 美女黄色免费看| 欧美激情一区二区三区全黄| a在线观看免费| 日韩av片电影专区| 一个色综合网| 成人午夜福利一区二区| 日韩欧美专区在线| 午夜av成人| 国产自产在线视频| 亚洲欧洲成人av每日更新|