生成代码覆盖率报告插件 apply plugin: 'jacoco'
来源:互联网 发布:大话西游手游抢星软件 编辑:程序博客网 时间:2024/05/16 05:47
本文转载自极客学院
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-generated
dumpOnExittrue
outputOutput.FILE
address-
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 客户端库。 - 生成代码覆盖率报告插件 apply plugin: 'jacoco'
- sonar 集成代码测试覆盖率插件jacoco
- JaCoCo+Maven+Jenkins自动执行单元测试并生成代码覆盖率报告
- Jacoco生成java覆盖率报告的两种方式
- 安装部署Sonar+jacoco,生成case覆盖率统计报告
- 代码覆盖率-JaCoCo
- 通过jacoco检查自动化代码覆盖率和报告分析
- Ant 单元测试及Jacoco覆盖率报告生成并将报告提交sonarqube
- JaCoCo和Maven的集成方式,在开发者测试阶段自动生成覆盖率报告
- sonar ant+jacoco 编译测试并出具测试代码覆盖率报告
- FindBugs代码审查插件,apply plugin: 'findbugs'
- phing生成phpunit报告,代码覆盖率
- 使用lcov生成代码覆盖率的报告
- maven与jacoco插件配置单元测试覆盖率
- jacoco统计自动化测试代码覆盖率
- java代码覆盖率工具-Emma和Jacoco
- Java单元测试之代码覆盖率-JaCoCo
- JAVA代码覆盖率工具JaCoCo-实践篇
- 使用tolua++实现C++与LUA相互调用
- AOS 自动生成代码类说明
- 有用网站注册
- HDU 5618 Jam's problem again(CDQ分治)
- 物体随鼠标(触摸按键)旋转
- 生成代码覆盖率报告插件 apply plugin: 'jacoco'
- Android手机目前常见的分辨率
- 使用Volley框架发起网络访问的写法
- 数据结构上机测试1:顺序表的应用
- JS 判断鼠标长按 实例
- C# 获取计算机系统相关信息
- 暑期dp46道(13)——HDOJ 1160FatMouse's Speed 排序+最长严格下降子序列+回溯
- struts2自定义拦截器
- jQuery DataTables 使用方法整理(上)