启动单次测试时,Robolectric无法正确加载

时间:2017-06-16 17:53:39

标签: android unit-testing robolectric

我有一个使用@RunWith(RobolectricTestRunner.class)测试的Android应用程序。当我在Android Studio中一起运行所有测试时,它可以工作。但是,当我单独运行测试或测试类时,我收到此错误:

java.lang.UnsupportedOperationException: Robolectric does not support API level 1.

请注意,清单文件中指定了最低和目标API级别。似乎环境设置不正确。添加@Config(emulateSdk=23)会使测试开始,但在访问资源时测试失败。

知道什么可能导致测试环境无法正常加载?

1 个答案:

答案 0 :(得分:1)

检查你的学生和你的班级:

Gradle:

 testCompile 'org.robolectric:robolectric:3.3'
 testCompile 'junit:junit:4.12'
 testCompile 'org.assertj:assertj-core:1.7.1'

在你的测试课程中:

@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 25)
public class YourTest {

    @Test
    public void shouldNotBeNull() throws Exception {
       //put your test here for example
    }
)

YourTest类应放在Test文件夹中(不是AndroidTest文件夹)

在Android Studio上:

  • 编辑配置
  • 在Junit中,您必须将工作目录更改为$ MODULE_DIR $。 重要的是$ MODULE_DIR $。