在Robolectric中找不到@Config常量参数

erl*_*man 14 android robolectric android-testing android-junit

我正在尝试编写Robolectric测试。我正在关注一些似乎正在使用的教程

@RunWith(RobolectricTestRunner::class)
@Config(constants = BuildConfig::class)
Run Code Online (Sandbox Code Playgroud)

设置测试,但是在我的情况下,参数常量似乎无法解析。

在此处输入图片说明

我的Robolectric依赖性如下所示:

testImplementation "org.robolectric:robolectric:4.0.2"
Run Code Online (Sandbox Code Playgroud)

Gue*_*en4 11

constants参数已弃用,请参阅doc:

constants
Deprecated. 
If you are using at least Android Studio 3.0 alpha 5 please migrate to the 
preferred way to configure builds for Gradle with AGP3.0 
http://robolectric.org/getting-started/
Run Code Online (Sandbox Code Playgroud)

根据文档设置Robolectric的正确方法是:

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

dependencies {
  testImplementation 'org.robolectric:robolectric:4.1'
}
Run Code Online (Sandbox Code Playgroud)


shi*_*hen 0

Robolectric 用于unit测试,而不是用于androidTest,因此请确认您的测试用例位于 下src/test,而不是下src/androidTest。