Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 启动单个测试时,Robolectric未能正确加载_Android_Unit Testing_Robolectric - Fatal编程技术网

Android 启动单个测试时,Robolectric未能正确加载

Android 启动单个测试时,Robolectric未能正确加载,android,unit-testing,robolectric,Android,Unit Testing,Robolectric,我有一个Android应用程序,我使用@RunWith(RobolectrictTestRunner.class)测试它。当我在androidstudio中一起运行所有测试时,它就工作了。但是,当我单独运行测试或测试类时,会出现以下错误: java.lang.UnsupportedOperationException: Robolectric does not support API level 1. 请注意,清单文件中同时指定了最低和目标API级别。似乎环境设置不正确。添加@Config(e

我有一个Android应用程序,我使用
@RunWith(RobolectrictTestRunner.class)
测试它。当我在androidstudio中一起运行所有测试时,它就工作了。但是,当我单独运行测试或测试类时,会出现以下错误:

java.lang.UnsupportedOperationException: Robolectric does not support API level 1.
请注意,清单文件中同时指定了最低和目标API级别。似乎环境设置不正确。添加
@Config(emulateSdk=23)
会启动测试,但在访问资源时测试失败


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

检查你的成绩和你的班级:

格拉德尔:

 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
    }
)
您的测试类应该放在测试文件夹中(而不是AndroidTest文件夹)

在Android Studio上:

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

手动将目录更改为$MODULE\u DIR$成功,谢谢!但是,我想知道为什么我必须为每个测试配置手动执行此操作,IDE难道不能推断吗?注意,从Android Studio 4.1.2开始,$MODULE_DIR$已被$ContentRoot替换$