在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 物聯(lián)網(wǎng)/ JaCoCo 插件
問題反饋
Gradle 插件
Scala 插件
Gradle 命令行的基本使用
任務(wù)詳述
安裝
概述
教程-雜七雜八
構(gòu)建環(huán)境
依賴管理基礎(chǔ)
使用 Gradle 圖形用戶界面
使用文件
CodeNarc 插件
Sonar 插件
Groovy 插件
Sonar Runner 插件
OSGi 插件
Ear 插件
Gradle 守護(hù)進(jìn)程
Java 插件
簡介
構(gòu)建基礎(chǔ)
FindBugs 插件
Groovy 快速入門
JaCoCo 插件
PMD 插件
War 插件
Checkstyle 插件
日志
Java 構(gòu)建入門
Jetty 插件
從 Gradle 中調(diào)用 Ant
標(biāo)準(zhǔn)的 Gradle 插件
Web 工程構(gòu)建
JDepend 插件
編寫構(gòu)建腳本

JaCoCo 插件

JaCoCo 插件目前還是孵化中狀態(tài)。請務(wù)必注意,在以后的 Gradle 版本中,DSL 和其他配置可能會有所改變。

JaCoCo 插件通過集成 JaCoCo為 Java 代碼提供了代碼覆蓋率指標(biāo)。

入門

要想開始,請將 JaCoCo 插件應(yīng)用于你想要計(jì)算代碼覆蓋率的項(xiàng)目中。

應(yīng)用 JaCoCo 插件

build.gradle

apply plugin: "jacoco"  

如果 Java 插件也被應(yīng)用于你的項(xiàng)目,那么會創(chuàng)建一個(gè)名為 jacocoTestReport 的新任務(wù),該新任務(wù)依賴于 test 任務(wù)。該報(bào)告可以在 $buildDir/reports/jacoco/test 中看到。默認(rèn)情況下,會生成一個(gè) HTML 報(bào)告。

配置 JaCoCo 插件

JaCoCo 插件添加一個(gè)名為 jacoco 類型為 JacocoPluginExtension 的 project 擴(kuò)展,這個(gè)擴(kuò)展允許在你的構(gòu)建中配置 JaCoCo 所使用的默認(rèn)值。

配置 JaCoCo 插件設(shè)置

build.gradle

jacoco
    toolVersion = "0.6.2.201302030002"
    reportsDir = file("$buildDir/customJacocoReportDir")
}  

表 34.1. JaCoCo 屬性的 Gradle 默認(rèn)值

Property Gradle 默認(rèn)值
reportsDir "$buildDir/reports/jacoco"

JaCoCo 報(bào)告配置

JacocoReport 任務(wù)可以用于生成不同格式的代碼覆蓋率報(bào)告。它實(shí)現(xiàn)了標(biāo)準(zhǔn)的 Gradle 類型 Reporting,并呈現(xiàn)了一個(gè) JacocoReportsContainer 類型的報(bào)告容器。

配置測試任務(wù)

build.gradle

jacocoTestReport {
    reports
        xml.enabled false
        csv.enabled false
        html.destination "${buildDir}/jacocoHtml"
    }
}  

http://wiki.jikexueyuan.com/project/gradle/images/07.png" alt="" />

JaCoCo 的特定任務(wù)配置

JaCoCo 插件添加了一個(gè) JacocoTaskExtension 擴(kuò)展到 Test 類型的所有任務(wù)中。該擴(kuò)展允許配置 JaCoCo 中的測試任務(wù)的一些特定屬性。

配置測試任務(wù)

build.gradle

test {
    jacoco
        append = false
        destinationFile = file("$buildDir/jacoco/jacocoTest.exec")
        classDumpFile = file("$buildDir/jacoco/classpathdumps")
    }
}  

表 34.2. JaCoCo 任務(wù)擴(kuò)展的默認(rèn)值

Property Gradle 默認(rèn)值
enabled true
destPath $buildDir/jacoco
append true
includes []
excludes []
excludeClassLoaders []
sessionId auto-generated
dumpOnExit true
output Output.FILE
address -
port -
classDumpPath -
jmx false

雖然 Test 的所有任務(wù)會在 java 插件被配置使用時(shí)會自動增強(qiáng)以提供覆蓋率信息,但是任何實(shí)現(xiàn)了 JavaForkOptions 的任務(wù)都可以通過 JaCoCo 插件得到增強(qiáng)。也就意味著,任何 fork Java 進(jìn)程的任務(wù)都可以用于生成覆蓋率信息。

例如,你可以配置您的構(gòu)建使用 application 插件來生成代碼覆蓋率。

使用 application 插件來生成代碼覆蓋率數(shù)據(jù)

build.gradle

apply plugin: "application"
apply plugin: "jacoco"
mainClassName = "org.gradle.MyMain"
jacoco {
    applyTo run
}
task applicationCodeCoverageReport(type:JacocoReport){
    executionData run
    sourceSets sourceSets.main
}  

注: 此示例中的代碼可以在 Gradle 的二進(jìn)制分發(fā)包及源代碼分發(fā)包中的 samples/testing/jacoco/application 中找到。

由 applicationCodeCoverageReport 生成的覆蓋率報(bào)告

構(gòu)建布局

application
  build
    jacoco
      run.exec
    reports/jacoco/applicationCodeCoverageReport/html/
      index.html  

任務(wù)

對于同時(shí)也配置使用了 Java 插件的項(xiàng)目,JaCoCo 插件會自動添加以下任務(wù):

表 34.3. JaCoCo 插件 - 任務(wù)

任務(wù)名稱 依賴于 類型 描述
jacocoTestReport - JacocoReport 為測試任務(wù)生成代碼覆蓋率報(bào)告。

依賴管理

JaCoCo 插件添加了下列的依賴配置:

表 34.4. JaCoCo 插件 ??- 依賴配置

名稱 意義
jacocoAnt 用于運(yùn)行JacocoMerge任務(wù)的 JaCoCo Ant 庫。
jacocoAgent 用于測試位于test下的代碼的 JaCoCo 客戶端庫。