gradle-clover-plugin从单独的模块获取代码覆盖率

时间:2019-04-25 22:45:45

标签: java spring-boot gradle clover

我的任务是拆分一个Spring Boot应用程序,使其具有多个看起来像这样的模块:

    • 应用
      • build.gradle
    • 休息
      • build.gradle
    • 服务
      • build.gradle
      • build.gradle
    • 型号
      • build.gradle
    • build.gradle
    • settings.gradle

注意:项目根目录中没有代码文件夹。每个模块都有自己的src

在将代码拆分为模块之前,gradle-clover-plugin显示我们的代码覆盖率为95%,但是由于现在测试的组织方式,该插件无法看到某些代码正在其他模块中进行测试

例如,在测试控制器时,正在service模块中测试某些rest类方法。

在查看插件(https://github.com/bmuschko/gradle-clover-plugin/blob/master/README.md)的文档时,他们提到在页面底部的additionalSourceSets中指定了additionalTestSourceSetsexample,但不清楚对我来说如何在我的项目中使用它们

我将示例中的以下代码块添加到了我的根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() >

在为其他模块生成代码覆盖率报告时,是否确实可以为插件指定其他模块的来源?

0 个答案:

没有答案