天天看點

Junit入門到掌握-20-JUnit內建-代碼覆寫率Cobetura基本使用

前面一篇文章介紹了代碼覆寫率一些概念和代碼覆寫率測試中一些準則或者覆寫率方式,這篇繼續來學習代碼覆寫率一個軟體,或者一個插件。這個插件叫Cobetura, 可以直接在cmd通過指令運作,不過一般我們用maven內建,下面來看看這個maven+Cobetura內建過程。

1.項目準備

這個需要Eclipse新建立一個标準的maven項目,不然得到html報告,覆寫率全部選項都是0.

之前我們是這樣兩個分開項目

Junit入門到掌握-20-JUnit內建-代碼覆寫率Cobetura基本使用

現在建立改成這樣,中間帶Demo是建立的标準的maven項目,什麼是标準maven項目,下面這個有三個紅圈的就是。

Junit入門到掌握-20-JUnit內建-代碼覆寫率Cobetura基本使用

就是把原來被測項目代碼拷貝到src/main/java包下,測試代碼拷貝到src/test/java下,然後添加junit 4到build path就可以,環境就準備好了。

2.添加pom.xml依賴

直接打開pom.xml,拷貝我這邊的<reporting>的部分内容

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>ProteinTrackerDemo</groupId>
  <artifactId>ProteinTrackerDemo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>ProteinTrackerDemo</name>
  
  
  <reporting>
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.7</version>
			</plugin>
		</plugins>
	</reporting>
</project>
           

然後Ctrl+s儲存。

3.cmd運作測試得到報告

打開cmd,cd到Demo這個工程根目錄,執行 mvn cobertura:cobertura, 然後等待一會,執行結束,我們去site下用浏覽器打開index.html檔案

Junit入門到掌握-20-JUnit內建-代碼覆寫率Cobetura基本使用

上面圖檔案路徑可能要重新整理目前工程才出來。

Junit入門到掌握-20-JUnit內建-代碼覆寫率Cobetura基本使用

展開包

Junit入門到掌握-20-JUnit內建-代碼覆寫率Cobetura基本使用

上面三個java檔案是src/main/java下的源碼,綠色表示單元測試覆寫數量,紅色表示沒覆寫的值。Line Coverage表示代碼行覆寫,Branch Coverage 是分支覆寫,例如if else的代碼就是分支。Complexity表示複雜度,複雜度越高,代碼越可讀性越差。

點選TrackingService這個類,下拉

Junit入門到掌握-20-JUnit內建-代碼覆寫率Cobetura基本使用

三行紅色表示我們用例沒有覆寫帶的代碼,是以我們需要去補充單元測試用例去覆寫這些紅色的地方。這個代碼覆寫率工具cobetura基本使用就介紹到這裡。