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 ...
随机推荐
- Android Multimedia框架总结(九)Stagefright框架之数据处理及到OMXCodec过程
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼:http://blog.csdn.net/hejjunlin/article/details/52532085 不知不觉到第九篇了,感觉还有 ...
- Xcode7.2如何真机调试iOS 9.3的设备
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 本猫的mac系统为10.10,Xcode版本为7.2 本猫将i ...
- Android 字体设置-Typeface讲解
控件的字体设置的两种方式 常用的字体类型名称还有: Typeface.DEFAULT //常规字体类型 Typeface.DEFAULT_BOLD //黑体字体类型 Typeface.MONOSPAC ...
- windows下安装nginx (转载自:http://blog.163.com/njut_wangjian/blog/static/1657964252013327103716818/)
1. 到nginx官网上下载相应的安装包,http://nginx.org/en/download.html:下载进行解压,将解压后的文件放到自己心仪的目录下,我的解压文件放在了d盘根目录下,如下图 ...
- TCP连接建立系列 — 客户端接收SYNACK和发送ACK
主要内容:客户端接收SYNACK.发送ACK,完成连接的建立. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 接收入口 tcp_v4_rcv |--&g ...
- Linux的sleep()和usleep()
1.sleep和usleep都是linux中的程序挂起函数.只是时间的单位不一样. 2. sleep的基本单位是s(秒),也可以用m(分).h(小时). 例: sleep 1 : 挂起1秒 sleep ...
- Servlet之HTTP状态码
HTTP 请求和 HTTP 响应消息的格式是类似的,结构如下: 初始状态行 + 回车换行符(回车+换行) 零个或多个标题行+回车换行符 一个空白行,即回车换行符 一个可选的消息主体,比如文件.查询数据 ...
- python在windows下使用setuptools安装egg文件
最近和同学做个东西,需要安装python的第三方函数库,看了网上的介绍,很是麻烦,这是我实践总结出来的,希望对大家有用. 以安装第三方库networkx 为例,其余函数库都是一个套路,看完就会滴. 1 ...
- dbcp连接池不合理的锁导致连接耗尽
应用报错,表象来看是连接池爆满了. org.springframework.transaction.CannotCreateTransactionException: Could not open J ...
- 剑指Offer——动态规划算法
剑指Offer--动态规划算法 什么是动态规划? 和分治法一样,动态规划(dynamic programming)是通过组合子问题而解决整个问题的解. 分治法是将问题划分成一些独立的子问题,递归地求解 ...