3

首先,我知道这个问题似乎是重复的。然而,其他问题都不是最近的,仍然可以工作。我试过了。

问题如下:

当使用带有 jacoco 作为覆盖生成器的 Android Studio 的内部“覆盖运行”功能时,我没有得到任何使用 RobolectricRunner 进行测试的覆盖。

我的 testOptions 部分在我的应用程序级别 build.gradle 中:

testOptions {
        reportDir = "$project.buildDir/test-results"
        unitTests.returnDefaultValues = true
        unitTests {
            includeAndroidResources = true
        }
    }

我在用着

AS 3.3
Gradle 4.10
classpath 'com.android.tools.build:gradle:3.2.0'
testImplementation "org.robolectric:robolectric:4.0.1"
compileSdkVersion 25 //this is a hard dependecy, can't change this one

我已经尝试了很多东西,甚至能够在覆盖范围内运行我的测试,如果它们完全是 robolectric 的话,但它仍然保持在 0%。

目前我没有对 jacoco 的任何具体引用,所以我认为我正在使用默认的 Android Studio 版本。如果有人能指出如何找到该版本,我将不胜感激。

如果您需要任何其他信息,我很乐意提供。

4

1 回答 1

0

我认为您应该尝试在您的测试单元中添加 jacoco 的特定配置,所以最终代码在这里:


      testOptions {
        reportDir = "$project.buildDir/test-results"
        unitTests.all {
            jacoco {
                includeNoLocationClasses = true
                jvmArgs '-noverify'
            }
        }
    }

于 2019-01-30T13:19:00.800 回答