源和测试类位于不同模块中时的JaCoCo配置

时间:2014-11-14 15:41:39

标签: testing gradle sonarqube jacoco multi-module

我有一个使用Gradle(2.2)+ JaCoCo + Sonar的多模块项目。我正在使用sonar-runner插件,当我执行测试时,我可以在每个模块中看到build/jacoco/jacoco.exec下的测试报告。到现在为止还挺好。

问题是,我在模块A中进行了一些测试,它们正在测试来自其他模块B的类,因此JaCoCo正在从模块B中识别具有0%代码覆盖率的类。我知道这不是一个好习惯,但必须这样做。

结构示例:

moduleA
    src
        java
            Foo
        test
moduleB
    src
        java
        test
            TestFoo

然后JaCoCo将显示0 {1}级的班级Foo。我尝试合并所有模块的结果,但我得到相同的结果,但在一个文件中,所以这不是我想要的。在执行JaCoCo报告时是否有任何选项可以包含来自其他模块的源?

感谢。

1 个答案:

答案 0 :(得分:0)

每个模块都需要自己的测试。 Jacoco在模块之后构建每个jacoco.exec模块,不能返回到前一个模块。所以你必须在moduleA中设置一个TestFoo。