亲爱的真棒社区,
我决定硬着头皮为我的 Android 应用程序组装一些合适的 TDD/BDD 测试基础设施。我希望将Roboelectric纳入我的单独测试项目中,以防止我不得不为任何远程 Android-y 启动模拟器。要查看我在 (Eclipse ADT 3.8) 环境中导入的内容,请在此处找到 RoboElectricSample 项目。但是我遇到了一个障碍......一切都在顺利编译,我已经解决了熟悉/bin
的/target
maven-eclipse 对峙问题,这里的答案我不能给予足够的支持。
但是,在示例项目的测试(全部 87 个)中,只有 7 个通过,其余的则失败;
Caused by: java.lang.ClassNotFoundException: com.pivotallabs.R
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at org.robolectric.AndroidManifest.getRClass(AndroidManifest.java:100)
目前,我的src/test/java
构建输出位置target/test-classes
与我的src/main/java
构建输出位置在target/classes
.
为了完整起见,这里是项目结构;
这个问答交流似乎表明我可能是在叫错树,但那是一年多以前的事了,m2e-android 插件已经走了很长一段路。最后,这个问题似乎完全反映了我的问题,但可惜没有解决方案。
您可以提供任何帮助来修复我的构建路径,以使/gen/r
文件在 Maven 等效项下被识别,这是generated-sources/r
最受赞赏的。在将我的应用程序切换到 Roboelectric 之前,我想启动并运行示例应用程序。