"RobolectricTestRunner.class" Android Studio 无法识别

"RobolectricTestRunner.class" not recognized in Android Studio

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

@RunWith(RobolectricTestRunner.class)

详情:

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

我正在导入依赖项:

testImplementation "org.robolectric:robolectric:3.5.1"

并且:

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

根本就没有出现导入class的选项。 我应该添加更多我忘记的依赖项吗?

错误:

 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

RobolectricGradleTestRunner 自 Robolectric 的第 3 版起已弃用。只需使用 @RunWith(RobolectricTestRunner.class) 看看官方documentation.

我通过将测试 class 放入 src \ test 文件夹而不是将其放入 src \ androidTest 文件夹

解决了这个问题

通常会有'androidTest'和'test'两种测试。

如果您添加 androidTestImplementation 'org.robolectric:robolectric:4.3.1' 等依赖项,Robolectric 包将仅在 'androidTest' 类 中导入。

如果你添加像testImplementation 'org.robolectric:robolectric:4.3.1'这样的依赖,它们只能在'test' 类.

中导入

我遵循了大部分建议,但运气不佳。
然后我将点 (.) 更改为双冒号 (::)

是...

@RunWith(RobolectricTestRunner.class)

改为...

@RunWith(RobolectricTestRunner::class)