AndroidStudio之Robolectric单元测试 No Such manifest file

最近在学习AndroidStudio之单元测试 Robolectric 推荐系列文章最详细没有之一:关于安卓单元测试,你需要知道的一切

在学习到使用dagger2来做依赖注入,以及在单元测试中的应用这篇文章使用Dagger2 对Activity做测试时出现了

No such manifest file: build/intermediates/bundles/debug/AndroidManifest.xml 这个奇怪的问题

之前测试纯java代码时完全没有问题 使用@Config(mainfest="xxx/AndroidManifest.xml")指定清单文件的路径也是不行

各种百度、谷歌姿势都试了但没有太好的答案 在Robolectric官方集成说明文档 有这么一段话 但是针对Mac和Linux的没有Windows 

If you are on Linux or on a Mac, you will probably need to configure the default JUnit test runner configuration in order to work around a bug where Android Studio does not set the working directory to the module being tested. This can be accomplished by editing the run configurations, Defaults -> JUnit and changing the working directory value to $MODULE_DIR$.

后来还是在Robolectric的GitHub上找到了答案:https://github.com/robolectric/robolectric/issues/2949

只要测试Activity相关需要实例化Activity对象的都需要在Configurations中配置问题working directory就完美解决了不只是在Mac、Linux上Windows同样需要此配置

^_^ 官方文档也应该更新了呢

AndroidStudio之Robolectric单元测试 No Such manifest file_第1张图片

配置之后再运行时发现需要下载android7.1.0的相关配置的东西 之后就可以完美运行了

我的配置:

       Robolectric 3.4-rc2
     Android Studio version 2.3.2
     Gradle version 3.3
     Android Gradle plugin 2.3.2

compileSdkVersion 25

  buildToolsVersion "25.0.3"
  targetSdkVersion 25

最后我彦神镇楼----
 
  





你可能感兴趣的:(Android)