当前位置:K88软件开发文章中心编程工具Gradle → 文章内容

Gradle JaCoCo 插件

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-24 10:31:52

由 珍珍阿姨 创建, 最后一次修改 2016-08-12 JaCoCo 插件JaCoCo 插件目前还是孵化中状态。请务必注意,在以后的 Gradle 版本中,DSL 和其他配置可能会有所改变。 JaCoCo 插件通过集成 JaCoCo为 Java 代码提供了代码覆盖率指标。入门要想开始,请将 JaCoCo 插件应用于你想要计算代码覆盖率的项目中。应用 JaCoCo 插件build.gradle apply plugin: "jacoco" 如果 Java 插件也被应用于你的项目,那么会创建一个名为 jacocoTestReport 的新任务,该新任务依赖于 test 任务。该报告可以在 $buildDir/reports/jacoco/test 中看到。默认情况下,会生成一个 HTML 报告。配置 JaCoCo 插件JaCoCo 插件添加一个名为 jacoco 类型为 JacocoPluginExtension 的 project 扩展,这个扩展允许在你的构建中配置 JaCoCo 所使用的默认值。配置 JaCoCo 插件设置build.gradle jacoco toolVersion = "0.6.2.201302030002" reportsDir = file("$buildDir/customJacocoReportDir")} 表 34.1. JaCoCo 属性的 Gradle 默认值PropertyGradle 默认值reportsDir"$buildDir/reports/jacoco"JaCoCo 报告配置JacocoReport 任务可以用于生成不同格式的代码覆盖率报告。它实现了标准的 Gradle 类型 Reporting,并呈现了一个 JacocoReportsContainer 类型的报告容器。配置测试任务build.gradle jacocoTestReport { reports xml.enabled false csv.enabled false html.destination "${buildDir}/jacocoHtml" }} JaCoCo 的特定任务配置JaCoCo 插件添加了一个 JacocoTaskExtension 扩展到 Test 类型的所有任务中。该扩展允许配置 JaCoCo 中的测试任务的一些特定属性。配置测试任务build.gradle test { jacoco append = false destinationFile = file("$buildDir/jacoco/jacocoTest.exec") classDumpFile = file("$buildDir/jacoco/classpathdumps") }} 表 34.2. JaCoCo 任务扩展的默认值PropertyGradle 默认值enabledtruedestPath$buildDir/jacocoappendtrueincludes[]excludes[]excludeClassLoaders[]sessionIdauto-generateddumpOnExittrueoutputOutput.FILEaddress-port-classDumpPath-jmxfalse虽然 Test 的所有任务会在 java 插件被配置使用时会自动增强以提供覆盖率信息,但是任何实现了 JavaForkOptions 的任务都可以通过 JaCoCo 插件得到增强。也就意味着,任何 fork Java 进程的任务都可以用于生成覆盖率信息。例如,你可以配置您的构建使用 application 插件来生成代码覆盖率。使用 application 插件来生成代码覆盖率数据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 的二进制分发包及源代码分发包中的 samples/testing/jacoco/application 中找到。 由 applicationCodeCoverageReport 生成的覆盖率报告构建布局 application build jacoco run.exec reports/jacoco/applicationCodeCoverageReport/html/ index.html 任务对于同时也配置使用了 Java 插件的项目,JaCoCo 插件会自动添加以下任务:表 34.3. JaCoCo 插件 - 任务任务名称依赖于类型描述jacocoTestReport-JacocoReport为测试任务生成代码覆盖率报告。依赖管理JaCoCo 插件添加了下列的依赖配置:表 34.4. JaCoCo 插件 ??- 依赖配置名称意义jacocoAnt用于运行JacocoMerge任务的 JaCoCo Ant 库。jacocoAgent用于测试位于test下的代码的 JaCoCo 客户端库。

Gradle JaCoCo 插件