当我添加一个packageNameSuffix我的build.gradle调试版本类型(见https://plus.google.com/108967384991768947849/posts/XGXH3arvbrK),我所有的Robolectric测试以下失败的原因:PackageNameSuffix打破测试 - Robolectric
Caused by: android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f050000
at org.robolectric.shadows.ShadowResources.getResName(ShadowResources.java:354)
at org.robolectric.shadows.ShadowResources.openRawResource(ShadowResources.java:387)
at android.content.res.Resources.openRawResource(Resources.java)
at com.myapp.utilities.CSVUtility.parseRawResourceCSV(CSVUtility.java:38)
的问题似乎是原始文件夹src/main/res/main
不再被发现。该文件夹包含在应用程序启动时解析的csv ...这是测试进行的地方boom。
抛开架构/数据重构建议(我知道CSV可能不是在应用程序启动时加载此数据的最佳方式),有谁知道我可以如何解决此问题?
编辑:我试着将文件移动到资产文件夹,然后我的测试失败的Context.getString()调用。在添加packageNameSuffixes时,资源看起来会变得完全混乱。