Gradle 1.12用户指南翻译——第三十四章. JaCoCo 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见:
http://blog.csdn.net/column/details/gradle-translation.html
翻译项目请关注Github上的地址:
https://github.com/msdx/gradledoc/tree/1.12。
直接浏览双语版的文档请访问:
http://gradledoc.qiniudn.com/1.12/userguide/userguide.html。
另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,目前0.2.1版本兼容 android 2.2以上系统,地址如下:
http://www.wandoujia.com/apps/com.githang.gradledoc
翻译不易,转载请注明本文在CSDN博客上的出处:
http://blog.csdn.net/maosidiaoxian/article/details/46646311
关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。如有发现翻译有误的地方,将首先在以上两个地方更新。因时间精力问题,博客中发表的译文基本不会同步修改。
第三十四章. JaCoCo 插件
JaCoCo 插件目前还是孵化中状态。请务必注意,在以后的
Gradle 版本中,DSL 和其他配置可能会有所改变。
JaCoCo 插件通过集成JaCoCo为
Java 代码提供了代码覆盖率指标。
34.1.
入门
要想开始,请将 JaCoCo 插件应用于你想要计算代码覆盖率的项目中。
示例 34.1. 应用 JaCoCo 插件
build.gradle
apply plugin: "jacoco"
如果 Java 插件也被应用于你的项目,那么会创建一个名为jacocoTestReport
的新任务,该新任务依赖于test
任务。该报告可以在
中看到。默认情况下,会生成一个$buildDir
/reports/jacoco/test
HTML 报告。
34.2.
配置 JaCoCo 插件
JaCoCo 插件添加一个名为jacoco
类型为JacocoPluginExtension
的project
扩展,这个扩展允许在你的构建中配置 JaCoCo 所使用的默认值。
示例 34.2. 配置 JaCoCo 插件设置
build.gradle
jacoco toolVersion = "0.6.2.201302030002" reportsDir = file("$buildDir/customJacocoReportDir") }
表 34.1. JaCoCo 属性的 Gradle 默认值
Property | Gradle 默认值 |
reportsDir |
"$buildDir /reports/jacoco" |
34.3.
JaCoCo 报告配置
JacocoReport
任务可以用于生成不同格式的代码覆盖率报告。它实现了标准的
Gradle 类型Reporting
,并呈现了一个JacocoReportsContainer
类型的报告容器。
示例 34.3. 配置测试任务
build.gradle
jacocoTestReport { reports xml.enabled false csv.enabled false html.destination "${buildDir}/jacocoHtml" } }
34.4.
JaCoCo 的特定任务配置
JaCoCo 插件添加了一个JacocoTaskExtension
扩展到Test
类型的所有任务中。该扩展允许配置
JaCoCo 中的测试任务的一些特定属性。
示例 34.4. 配置测试任务
build.gradle
test { jacoco append = false destinationFile = file("$buildDir/jacoco/jacocoTest.exec") classDumpFile = file("$buildDir/jacoco/classpathdumps") } }
表 34.2. JaCoCo 任务扩展的默认值
Property | Gradle 默认值 |
enabled | true |
destPath |
$buildDir /jacoco |
append | true |
includes | [] |
excludes | [] |
excludeClassLoaders | [] |
sessionId |
auto-generated |
dumpOnExit |
true |
output |
Output.FILE |
address |
- |
port |
- |
classDumpPath |
- |
jmx |
false |
虽然Test
的所有任务会在java
插件被配置使用时会自动增强以提供覆盖率信息,但是任何实现了JavaForkOptions
的任务都可以通过
JaCoCo 插件得到增强。也就意味着,任何fork Java 进程的任务都可以用于生成覆盖率信息。
例如,你可以配置您的构建使用application
插件来生成代码覆盖率。
示例 34.5. 使用 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
中找到。
示例 34.6. 由 applicationCodeCoverageReport 生成的覆盖率报告
构建布局
application build jacoco run.exec reports/jacoco/applicationCodeCoverageReport/html/ index.html
34.5.
任务
对于同时也配置使用了 Java 插件的项目,JaCoCo 插件会自动添加以下任务:
表 34.3. JaCoCo 插件 - 任务
任务名称 | 依赖于 | 类型 | 描述 |
jacocoTestReport |
- |
JacocoReport |
为测试任务生成代码覆盖率报告。 |
34.6.
依赖管理
JaCoCo 插件添加了下列的依赖配置:
表34.4. JaCoCo 插件 - 依赖配置
名称 | 意义 |
jacocoAnt |
用于运行JacocoReport 和JacocoMerge 任务的JaCoCo Ant 库。 |
jacocoAgent |
用于测试位于test下的代码的 JaCoCo 客户端库。 |
Gradle 1.12用户指南翻译——第三十四章. JaCoCo 插件的更多相关文章
- Gradle 1.12用户指南翻译——第三十九章. IDEA 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- Gradle 1.12用户指南翻译——第三十五章. Sonar 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- Gradle 1.12用户指南翻译——第三十二章. JDepend 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- Gradle 1.12用户指南翻译——第三十六章. Sonar Runner 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- Gradle 1.12用户指南翻译——第五十二章. Maven 插件
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上 ...
- Gradle 1.12用户指南翻译——第六十四章. 发布到Ivy(新)
其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上的地址:https://gith ...
- Gradle 1.12用户指南翻译——第六十五章. Maven 发布(新)
其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上的地址:https://gith ...
- Gradle 1.12用户指南翻译——第三十八章. Eclipse 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- Gradle 1.12用户指南翻译——第三十一章. FindBugs 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
随机推荐
- Java通过实现Runnable接口来创建线程
创建一个线程,最简单的方法是创建一个实现Runnable接口的类. 为了实现Runnable,一个类只需要执行一个方法调用run(),声明如下: public void run() 你可以重写该方法, ...
- android的消息通知栏
在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...
- java之异常处理
异常Exception我们分为 |--RuntimeException运行期异常,我们需要修正代码 |--非RuntimeException 编译期异常,必须处理的,否则程序编译不通过 异常有两种处理 ...
- Spark技术内幕: Shuffle详解(二)
本文主要关注ShuffledRDD的Shuffle Read是如何从其他的node上读取数据的. 上文讲到了获取如何获取的策略都在org.apache.spark.storage.BlockFetch ...
- Android必知必会-自定义Scrollbar样式
如果移动端访问不佳,请使用–>GitHub版 背景 设计师给的设计图完全依照 IOS 的标准来的,导致很多细节的控件都得自己重写,最近的设计图中有显示滚动条,Android 默认的滚动条样式(带 ...
- FFmpeg源代码简单分析:libswscale的sws_scale()
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...
- TortoiseSVN文件夹图标不显示
伴随着十二月的脚步,小编带领的市委组织部项目有条不紊的进行着,在最近的项目中遇到一个问题TortoiseSVN文件夹的图标不显示,为什么小编已经安装好TortoiseSVN了,发现文件夹的图标还是系统 ...
- Cocos2D实现RPG游戏人物地图行走的跟随效果
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在一些RPG游戏中,人物队列在地图中行走的时候有时需要实现一个 ...
- 【shell点滴】参数变量
参数变量故名思议就是用来操作输入参数的变量,知道用户输入了哪些参数,才可以进行相应的处理. 参数变量 作用 $1,$2- 取第几个参数的意思 $* 取出所有的参数,解析参数的分割符环境变量 IFS 来 ...
- CentOS配置
1.在Vmware中安装好虚拟机. 2.客户机(即虚拟机中的centos)网络连接使用仅主机模式Host-only 3.在主机中网络配置上,配置IP地址 1.使用PieTTY远程连接该虚拟机 2.使用 ...