大佬教程收集整理的这篇文章主要介绍了Gradle jacoco覆盖报告包含多个子模块?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
最后,我找到了这个插件:@R_801_10107@s ://github.com/palantir/gradle-jacoco- coverage为我完成了这项工作:
根gradle.build
@H_616_7@buildscript { repositorIEs { jcenter() } dependencIEs { // see @R_801_10107@s://jcenter.bintray.com/com/androID/tools/build/gradle/ classpath 'com.androID.tools.build:gradle:2.1.0' // classpath 'com.androID.tools.build:gradle:2.2.0-Alpha1' // @R_801_10107@s://github.com/palantir/gradle-jacoco-coverage classpath 'com.palantir:jacoco-coverage:0.4.0' } } // @R_801_10107@s://github.com/palantir/gradle-jacoco-coverage apply plugin: 'com.palantir.jacoco-full-report'
所有具有
@H_616_7@apply plugin: 'jacoco'
包含在报告中。
有谁知道如何为Java Jacoco报告配置一个gradle文件,其中包含多个gradle子模块的代码覆盖率?
我当前的方法仅显示当前子模块的代码覆盖率,而不显示兄弟子模块的代码覆盖率。
我有这个项目结构
@H_616_7@- build.gradle (1) - corelib/ - build.gradle (2) - src/main/java/package/Core.java - extlib/ - build.gradle (3) - src/main/java/package/Ext.java - src/test/java/package/Integrationtest.java
当我执行@H_616_7@gradlew :extlib:check :extlib:jacocoTestReportjunit-test“
Integrationtest.java”并执行代码生成报告时,该报告不包含Corelib类(如Core.java)的代码覆盖
结果应包括Ext.java和Core.java的代码覆盖率
我已经看过
但没有发现任何线索
这是gradle文件的内容
@H_616_7@// root build.gradle (1) // Top-level build file where you can add configuration options // common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' } } allprojects { repositories { jcenter() } }
@H_616_7@// build.gradle (2) subproject build file for corelib. apply plugin: 'java' apply plugin: 'jacoco' dependencies { } jacocoTestReport { reports { xml.enabled true html.enabled true } }
@H_616_7@// build.gradle (3) subproject build file for extlib. apply plugin: 'java' apply plugin: 'jacoco' dependencies { compile project(':corelib') TESTCompile 'junit:junit:4.11' // this does not compile // jacocoTestReport project(':pixymeta-core-lib') } jacocoTestReport { reports { xml.enabled true html.enabled true } } // workaround because android-studio does not make the test resources available // see @R_801_10107@s://code.google.com/p/android/issues/detail?id=64887#c13 task copyTestresources(type: Copy) { from sourceSets.test.resources into sourceSets.test.output.classesDir } processTestresources.dependsOn copyTestresources
[更新2016-08-01]
感谢@Benjamin Muschko我也尝试了根gradle文件
@H_616_7@// @R_801_10107@s://discuss.gradle.org/t/merge-jacoco-coverage-reports-for-multiproject-setups/12100/6 // @R_801_10107@s://docs.gradle.org/current/dsl/org.gradle.tesTing.jacoco.tasks.JacocoMerge.html task jacocoMerge(type: JacocoMergE) { subprojects.each { subproject -> executionData subproject.tasks.withType(Test) } }
但收到错误消息(使用gradle-2.14)
@H_616_7@* what went wrong: Some problems were found with the configuration of task ':jacocoMerge'. > No value has been specified for property 'jacocoClasspath'. > No value has been specified for property 'executionData'. > No value has been specified for property 'desTinationFile'.
还有gradle插件@R_801_10107@s://github.com/paveldudka/JacocoEverywhere,我在这里要求多子模块支持@R_801_10107@s://github.com/paveldudka/JacocoEverywhere/issues/16
[更新2016-08-01]我找到了一个基于@R_801_10107@s://github.com/palantir/gradle-jacoco-
coverage的可行解决方案
见下面我自己的答案
以上是大佬教程为你收集整理的Gradle jacoco覆盖报告包含多个子模块?全部内容,希望文章能够帮你解决Gradle jacoco覆盖报告包含多个子模块?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。