我的任务是拆分一个Spring Boot应用程序,使其具有多个看起来像这样的模块:
注意:项目根目录中没有代码文件夹。每个模块都有自己的src
根
在将代码拆分为模块之前,gradle-clover-plugin显示我们的代码覆盖率为95%,但是由于现在测试的组织方式,该插件无法看到某些代码正在其他模块中进行测试
例如,在测试控制器时,正在service
模块中测试某些rest
类方法。
在查看插件(https://github.com/bmuschko/gradle-clover-plugin/blob/master/README.md)的文档时,他们提到在页面底部的additionalSourceSets
中指定了additionalTestSourceSets
和example
,但不清楚对我来说如何在我的项目中使用它们
我将示例中的以下代码块添加到了我的根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”。
然后我尝试将 generateCode 和 integrationTest 换成根build.gradle
中我模块的名称,但遇到了相同的异常
最后,我尝试在build.gradle中为模块指定这些属性,但遇到以下异常:在com.bmuschko.gradle.clover.CloverPluginConvention类型的对象上找不到用于参数的方法AdditionalSourceSets() >
在为其他模块生成代码覆盖率报告时,是否确实可以为插件指定其他模块的来源?