JaCoCo 程式碼覆蓋率工具(基於Maven+TestNG)
JaCoco是一個程式碼覆蓋率庫。
安裝:
以 Maven(http://www.testclass.net/maven/) 安裝為例:
<dependencies> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.11</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version></plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.7.9</version> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>prepare-package</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build>
使用:
Maven專案目錄如下:
建立被測試類 Count.java
public class Count { /** * 計算並返回兩個引數的和 */ public int add(int x ,int y){ return x + y; } /** * 計算並返回兩個引數的和 */ public int sub(int x ,int y){ return x - y; } }
程式碼很簡單,這裡不做過多解釋。
接下來建立測試類CountTest.java。
import org.testng.annotations.Test; import static org.testng.AssertJUnit.assertEquals; public class CountTest { @Test public void testAdd() { Count count = new Count(); int result = count.add(2,2); assertEquals(result, 4); } }
通過TestNG單元測試框架來執行測試用例,注意這裡只編寫了針對Count類的 add()方法進行測試。
執行:
切換到jacocoTest專案根目錄下,執行“mvn install”命令。
檢視:
切換到專案下的“\target\site\jacoco\”目錄,開啟index.html檔案。
通過JaCoCo工具分析可以清楚地看哪些程式碼被執行了,而哪些未被執行。
相關推薦
JaCoCo 程式碼覆蓋率工具(基於Maven+TestNG)
JaCoco是一個程式碼覆蓋率庫。 安裝: 以 Maven(http://www.testclass.net/maven/) 安裝為例: <dependencies> <dependency> <gro
JaCoCo 程式碼覆蓋率工具(基於Maven+TestNG)
JaCoco是一個程式碼覆蓋率庫。 安裝: 以 Maven(http://www.testclass.net/maven/) 安裝為例: <dependencies> <dependency> <groupId>org.test
自己動手做聊天工具(基於 Redis 開發)
說起聊天軟體, 你一定會想到微信、QQ。所以聊天軟體總給人給龐大,複雜的感覺。但當我們抽繭剝絲之後,你也會驚呼“哇,原來這麼簡單,我自己也能編寫聊天軟體了!” Redis 號稱“世界上最快的資料庫", 基於 Redis 我們可以開發很多有趣的應用。此 Chat 我們將一起基於 Redis 開發一款
將專案打包成war(基於maven springboot)
首先:將jar變成warpom.xml中<packaging>war</packaging>其次:在pom.xml中加下列依賴:<dependency> <groupId>org.springframework.boot<
自動化測試工具(基於WordCount作業)
本自動化測試的程式用於自動化測試[WordCount作業](https://edu.cnblogs.com/campus/fzu/FZUSESPR21/homework/11672),採用Java開發(基於jdk1.8+),基於Maven來管理專案。 ## 支援的語言和開發進度 | 語言 | 進度
JAVA程式碼覆蓋率工具JaCoCo-實踐篇
一、覆蓋率專案中使用介紹 本節開始詳細介紹下專案中的JaCoCo實戰經驗。 下圖是覆蓋率在實際在專案中的主要實施點: 分別詳細介紹下: 1.1 確定插樁方式 Android專案只能使用JaCoCo的離線插樁方式。 為什麼?主要是因為Android覆蓋率的特殊性
JaCoCo 程式碼覆蓋率測試工具整合
對於JaCoCo的介紹就不多說了,網上多的是介紹,不行也可以去官網檢視一下就行了。相信大家也很不喜歡這類部落格——開頭不寫怎麼解決問題,而是給你講背景、講歷史,講了一堆。終於到解決問題的方法了,發現還不適用自己的情況。真是XXXX了。 所以,我先給出JaCoCo的官網,大家可以自行檢
JAVA程式碼覆蓋率工具JaCoCo-踩坑篇
一、覆蓋率踩過的坑 在專案中使用JaCoCo覆蓋率的時候,也遇到過各種奇葩的問題,在這裡列出來分享下,問題和實際的專案關係密切,希望對有遇到過相似問題的童鞋有所啟發。 1.1 覆蓋率包在部分手機6.0上安裝失敗 事情起因:在測試新功能時,用打的覆蓋率包,外包反饋部分手機6.0上安裝不了。 問題重現:
JAVA程式碼覆蓋率工具JaCoCo-原理簡單分析
作為一個測試人員,保證產品的軟體質量是其工作首要目標,為了這個目標,測試人員常常會通過很多手段或工具來加以保證,覆蓋率就是其中一環比較重要的環節。 我們通常會將測試覆蓋率分為兩個部分,即“需求覆蓋率”和“程式碼覆蓋率”。 需求覆蓋:指的是測試人員對需求的瞭解程度,根據
AVA 程式碼覆蓋率工具 JaCoCo-實踐篇
一、覆蓋率專案中使用介紹本節開始詳細介紹下專案中的JaCoCo實戰經驗。下圖是覆蓋率在實際在專案中的主要實施點:分別詳細介紹下:1.1 確定插樁方式Android專案只能使用JaCoCo的離線插樁方式。為什麼?主要是因為Android覆蓋率的特殊性:一般執行在伺服器java程
【騰訊TMQ】JAVA程式碼覆蓋率工具JaCoCo-踩坑篇
作者:劉洋 一、覆蓋率踩過的坑 在專案中使用JaCoCo覆蓋率的時候,也遇到過各種奇葩的問題,在這裡列出來分享下,問題和實際的專案關係密切,希望對有遇到過相似問題的童鞋有所啟發。 1.1 覆蓋率包在部分手機6.0上安裝失敗 事情起因:在測試新功
JAVA 程式碼覆蓋率工具 JaCoCo-原理篇
一、 覆蓋率定義 作為一個測試人員,保證產品的軟體質量是其工作首要目標,為了這個目標,測試人員常常會通過很多手段或工具來加以保證,覆蓋率就是其中一環比較重要的環節。 我們通常會將測試覆蓋率分為兩個部分,即“需求覆蓋率”和“程式碼覆蓋率”。 需求覆蓋:指的是測試人
JAVA 程式碼覆蓋率工具 JaCoCo-踩坑篇
一、覆蓋率踩過的坑在專案中使用JaCoCo覆蓋率的時候,也遇到過各種奇葩的問題,在這裡列出來分享下,問題和實際的專案關係密切,希望對有遇到過相似問題的童鞋有所啟發。1.1 覆蓋率包在部分手機6.0上安裝失敗事情起因:在測試新功能時,用打的覆蓋率包,外包反饋部分手機6.0上安裝
Ubuntu 16.04安裝Fiddler抓包工具(基於Mono,且會有BUG)
clas 新的 pan ddl chmod mon aid bsp code 說明:Fiddler官方提供了Mono版本的,但是只有2014版本的,不是最新的,並且運行期間會有BUG,比如界面錯亂卡死等等,但是勉強能代理,抓SSL的包,如果使用了要做好心理準備。將就一下還是
《第一行程式碼》 第五章:全域性大喇叭 筆記(基於Android8.0)
由於Android8.0對廣播機制做了很大的調整理,導致《第一行程式碼》中很多例項無法正常執行,因此我結合書本,自行整理了一下。 廣播需要接收器和傳送器。系統的動作都會發送一條廣播,例如電量的變化,系
jenkins教程(基於maven+Git+jdk的簡單搭建)
對於jenkins我已經“垂涎”一年多了,之所以沒有認真地玩一遍,也是因為沒有工作的動力驅動。正好,最近團隊在搭建敏捷工具,自然而然就由我來研究一波啦。 1 下載軟體 選擇 Long-term Support (LTS)的版本,可選擇下載war包直接部署在tomc
Hibernate的實現(基於Maven)(Hibernate學習二)
一、建立Maven專案 二、新增hibernate所需的包 在pom.xml檔案標籤當中新增如下依賴: <!-- 新增Hibernate依賴 --> <dependency> <group
程式設計工具(七)Mac下的Java環境和Node.js/Ruby開發環境搭建(基於Intellj Idea)
參考: 一、Mac下的Java環境配置 1. 安裝Jdk 下載Mac版本的JDK,下好之後安裝,此時在bash中使用java -version命令已經看到Version號。 Mac支援多版本Java虛擬機器的選擇,選擇如下: 開啟Java控制檯之後可以在Desktop
maven 對spark 原始碼進行編譯(基於Centos 7 )
maven 對spark 原始碼進行編譯( 基於Centos 7 ) 1 、寫在前面的話 有些小夥伴可能會問:Spark官網不是已經提供了Spark針對不同版本的
用C++寫的三子棋程式碼(基於DOS介面)
#include<iostream> #include<stdlib.h> using namespace std; class Tictoc { public: Tictoc();//賦值陣列t[3][3],初始化為空字元,還有顯示棋盤 voi