1

我正在一个带有应用程序模块和库模块的多模块 Android 项目中工作。如果我简单地添加

apply plugin: 'jacoco'
jacoco {
     toolVersion '0.8.7'
}

build.gradle每个模块,然后当我从每个模块目录中的命令行运行设备外单元测试时,我看到创建的 .exec 文件build/jacoco/testDebugUnitTest.exec大小约为 27k 左右。由此生成报告符合我的预期。

如果我添加

buildTypes {
    debug {
        testCoverageEnabled true
    }
}

到每个模块的 build.gradle (这样我以后也可以收集设备上测试的覆盖率)然后当我运行设备外单元测试时,.exec 文件改为在build/outputs/unit_test_code_coverage/debugUnitTest/testDebugUnitTest.exec.

更重要的是,虽然当我在应用程序模块中运行测试时该文件仍然约为 27k,但当我在同一项目的库模块中运行测试时,它几乎是空的(只有 45 个字节)。

是否有原因 testCoverageEnabled 会干扰库模块的设备外代码覆盖,但不会干扰主应用程序模块?

4

0 回答 0