Java gradle clover插件从单独的模块获得代码覆盖率
我的任务是拆分一个spring boot应用程序,使其具有多个模块,如下所示:Java gradle clover插件从单独的模块获得代码覆盖率,java,spring-boot,gradle,clover,Java,Spring Boot,Gradle,Clover,我的任务是拆分一个spring boot应用程序,使其具有多个模块,如下所示: 根 应用程序 格雷德尔先生 休息 格雷德尔先生 服务 格雷德尔先生 刀 格雷德尔先生 模型 格雷德尔先生 格雷德尔先生 格雷德尔酒店 注意:项目根目录中没有代码文件夹。每个模块都有自己的srcroot 在将代码拆分为模块之前,gradle clover插件显示我们有95%的代码覆盖率,但是由于现在测试的组织方式,插件无法看到一些代码正在其他模块中测试 例如,在测试控制器时,正在从rest模
- 根
- 应用程序
- 格雷德尔先生
- 休息
- 格雷德尔先生
- 服务
- 格雷德尔先生
- 刀
- 格雷德尔先生
- 模型
- 格雷德尔先生
- 格雷德尔先生
- 格雷德尔酒店
- 应用程序
src
root
在将代码拆分为模块之前,gradle clover插件显示我们有95%的代码覆盖率,但是由于现在测试的组织方式,插件无法看到一些代码正在其他模块中测试
例如,在测试控制器时,正在从rest
模块测试一些service
类方法
通过查看插件()的文档,他们提到在页面底部的示例中指定additionalSourceSets
和additionalTestSourceSets
,但我不清楚如何在我的项目中使用它们
我将示例中的以下块添加到我的根build.gradle
:
additionalSourceSet {
srcDirs = sourceSets.generatedCode.java.srcDirs
classesDir = sourceSets.generatedCode.java.outputDir
}
additionalTestSourceSet {
srcDirs = sourceSets.integrationTest.java.srcDirs
classesDir = sourceSets.integrationTest.java.outputDir
}
但出现以下异常:无法获取类型为org.gradle.api.internal.tasks.DefaultSourceSetContainer的SourceSet容器的未知属性“generatedCode”
然后,我尝试用根build.gradle
中的模块名交换生成的代码和集成测试,但得到了相同的异常
最后,我尝试在build.gradle中为模块指定这些属性,但遇到以下异常:无法为com.bmuschko.gradle.clover.CloverPluginConvention类型的对象上的参数找到additionalSourceSets()方法
在为不同的模块生成代码覆盖报告时,是否可以指定插件的另一个模块的源代码?
我想帮助,但我还没有完全了解它。哪个java版本,哪个gradle版本,哪个插件版本?源集是否知道生成的代码?最简单的方法是添加一些输出,将配置视为一个小调试。听起来,生成的代码还没有发生。