Rob*_*iro 11 android unit-testing robolectric android-gradle-plugin robolectric-gradle-plugin
我正在尝试使用Robolectric来运行单元测试,但Android Studio无法识别该类:
@RunWith(RobolectricTestRunner.class)
Run Code Online (Sandbox Code Playgroud)
细节:
classpath 'com.android.tools.build:gradle:3.0.0'
Run Code Online (Sandbox Code Playgroud)
我正在导入依赖:
testImplementation "org.robolectric:robolectric:3.5.1"
Run Code Online (Sandbox Code Playgroud)
和:
android {
testOptions {
unitTests {
includeAndroidResources = true
}
}
}
Run Code Online (Sandbox Code Playgroud)
它似乎没有出现导入类的选项.我应该添加任何我忘记的依赖项吗?
错误:
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
Run Code Online (Sandbox Code Playgroud)
Rob*_*iro 23
我只是将测试类放在src \ test文件夹中而不是将其放在src \ androidTest文件夹中解决了这个问题
mob*_*bob 10
我遵循了大部分建议,但没有任何运气。
然后我将点 (.) 更改为双冒号 (::)
曾是 ...
@RunWith(RobolectricTestRunner.class)
Run Code Online (Sandbox Code Playgroud)
变成 ...
@RunWith(RobolectricTestRunner::class)
Run Code Online (Sandbox Code Playgroud)
通常会有两种测试“androidTest”和“test”。
如果您添加依赖项,如androidTestImplementation 'org.robolectric:robolectric:4.3.1',Robolectric 包将仅在 'androidTest' 类中导入。
如果您添加像 那样的依赖项testImplementation 'org.robolectric:robolectric:4.3.1',则它们只能在“测试”类中导入。