接著昨天的寫,昨天講到jacoco可以test任務中配置,形式如下:
~~~
test {
useTestNG();
jacoco{
......
}
}
~~~
之前的文章講了append和destinaFile這兩個屬性,下面接著講第三個屬性。
## 3.classDumpFile
將jacoco檢測到的class文件保存到的文件
build.gradle
~~~
test {
useTestNG();
jacoco{
append = false
destinationFile = file("$buildDir/doctor/doctorq.exec")
classDumpFile = file("$buildDir/doctor/class")
}
}
~~~
執行gradle clean test后,會發現多了一個build/doctor/class文件:

這里面的文件和exec文件里列舉的一樣。這個屬性不太需要,過了!
## 不止是test任務
我們之前講的所有關于jacoco的內容,都是收集test任務的代碼覆蓋率。但是jacoco不只是用于這樣一個測試任務,由于jacoco的原理是在jvm環境中進行插樁監控jvm中被調用的代碼,那么只要是在java進程中執行的任務,都可以用jacoco來收集信息。好,下面來舉例說明:當我們執行java程序main方法時,也可以通過jacoco來收集main方法的代碼覆蓋率。
新增main方法:
~~~
public class MyMain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person person = new Person("Larry");
System.out.println(person.getName());
}
}
~~~
build.gradle中新增任務
~~~
jacoco{
toolVersion = "0.7.1.201405082137"
reportsDir = file("$buildDir/customJacocoReportDir")
applyTo run
}
task applicationCodeCoverageReport(type:JacocoReport){
executionData run
sourceSets sourceSets.main
}
~~~
我們執行run任務再執行applicationCodeCoverageReport任務,看結果輸出
~~~
D:\eclipse\workspare\TestNG_gradl>gradle clean run applicationCodeCoverageRepor
:clean
:compileJava
:processResources
:classes
:run
Larry
:applicationCodeCoverageReport
BUILD SUCCESSFUL
Total time: 6.333 secs
~~~
然后看代碼覆蓋率的報告


上面的例子中我們測試了main方法代碼覆蓋率,還有很多其他的任務可以獲得代碼覆蓋率信息,等待我以后了解了再添加。
- 前言
- gradle學習(1)-helloworld
- gradle學習(2)-基礎語法
- gradle學習(3)-基礎認識
- gradle學習(4)-構建java項目
- gradle學習(5)-創建eclipse項目
- gradle學習(6)-依賴管理
- gradle學習(7)-groovy
- gradle學習(8)-gradle的命令行
- gradle學習(9)-獲取build相關信息
- gradle學習(10)-gui
- gradle學習(11)-編寫構建腳本
- gradle學習(12)-groovy一些基礎語法
- gradle學習(13)-有的沒的
- gradle學習(14)-任務
- gradle學習(15)-任務
- gradle學習(16)-操作文件
- gradle學習(17)-被合并的ant
- gradle學習(18)-ant的屬性
- gradle學習(19)-log系統
- gradle學習(20)-詳解java插件
- gradle學習(21)-在eclipse中構建java項目
- gradle復習(1)-2種定義任務方式的區別
- gradle復習(2)-eclipse中添加依賴jar包
- gradle復習(3)-在gradle項目中使用TestNG
- gradle復習(4)-Cannot find System Java Compiler
- gradle復習(5)-Test remote debug
- gradle復習(6)-深入Jacoco
- gradle復習(7)-深入Jacoco
- gradle復習(8)-Task中行為
- gradle學習(22)-Sonar
- gradle學習(23)-Sonar runner