使用Roboletric进行Junit测试

时间:2017-06-05 14:17:53

标签: java android unit-testing junit4 robolectric

没有这样的清单文件:build / intermediates / bundles / debug / app / src / main / AndroidManifest.xml

指的是 - Robolectric says "AndroidManifest.xml not found"

https://github.com/robolectric/robolectric/issues/1648但没有帮助。

2 个答案:

答案 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 $。

答案 1 :(得分:0)

您可以通过更新gradle文件来修复没有此类清单文件:./ AndroidManifest.xml 警告。

将以下行添加到gradle文件中,以便使用正确的Android清单。 includeAndroidResources选项允许您访问单元测试中的android资源,包括您的AndroidManifest文件。 app / build.gradle

testOptions.unitTests {
    includeAndroidResources = true
}

src:https://codelabs.developers.google.com/codelabs/advanced-android-kotlin-training-testing-basics/index.html?index=..%2F..index#7