Android Studio中无法识别“RobolectricTestRunner.class”

时间:2017-11-14 11:24:26

标签: android unit-testing android-gradle robolectric robolectric-gradle-plugin

我正在尝试使用Robolectric进行单元测试,但Android Studio无法识别该类:

@RunWith(RobolectricTestRunner.class)

详细说明:

classpath 'com.android.tools.build:gradle:3.0.0'

我正在导入依赖:

testImplementation "org.robolectric:robolectric:3.5.1"

android {
    testOptions {
        unitTests {
            includeAndroidResources = true
        }
    }
}

导入该类似乎没有选项。 我应该添加任何我忘记的依赖项吗?

错误:

 error: package org.robolectric does not exist
 error: package org.robolectric does not exist
 error: package org.robolectric.shadows does not exist
 error: cannot find symbol class RobolectricTestRunner
 error: cannot find symbol variable Robolectric
 error: cannot find symbol variable ShadowApplication

4 个答案:

答案 0 :(得分:16)

我只是将测试类放在src \ test文件夹中而不是将其放在src \ androidTest文件夹

中解决了这个问题

答案 1 :(得分:6)

自Robolectric版本3以来,

RobolectricGradleTestRunner已被弃用。只需使用@RunWith(RobolectricTestRunner.class) 看看官方documentation

答案 2 :(得分:3)

我在没有任何运气的情况下遵循了大部分建议。
然后我将一个点 (.) 改为双冒号 (::)

是……

@RunWith(RobolectricTestRunner.class)

改为...

@RunWith(RobolectricTestRunner::class)

答案 3 :(得分:1)

通常会有两种测试:“ androidTest”和“ test”。

如果您添加诸如androidTestImplementation 'org.robolectric:robolectric:4.3.1'之类的依赖项,则Robolectric软件包将仅被导入'androidTest'类中。

如果您添加testImplementation 'org.robolectric:robolectric:4.3.1'之类的依赖项,则只能将它们导入“测试”类中。