IAm*_*aja 11 java eclipse android maven
我已成功安装和配置了Eclipse的M2E Maven插件,以及Android SDK和ADT.
我想从创建的Android项目中 Maven的,所以我觉得这个文章这给安装Android的Maven插件,并使用预先存在的Android的Maven原型用于初始化一个项目的说明.
我按照说明进行了"T",让项目"精心化".
唯一的问题是,我习惯(并且非常喜欢!)以下典型的Maven目录结构:
src/
main/
resources/
java/
test/
resources/
java/
Run Code Online (Sandbox Code Playgroud)
但是,此原型似乎不包含src/test/*目录,只包含src/main/*树.我如何在其中获得测试"子树"?
我想我有两个选择:
test/resources和test/java源文件夹我甚至不知道从哪里开始寻找第一个选项,坦率地说,我很害怕尝试第二个选项!我听说改变一个原型的目录结构真的搞乱了构建.
这有什么建议?我有什么明显的遗失吗?提前致谢!
从这里的"入门"页面查看"注释"部分:
笔记:
- 不要在src/test/java中放置想要由Android Maven插件运行的测试.如果您将测试放在那里,Maven将在JVM中将它们作为正常的JUnit测试运行,并在类路径上访问JAR文件,其中包括android.jar.因为android.jar只包含抛出异常的空方法,所以你会得到java.lang.RuntimeException形式的异常:Stub!.相反,测试需要进入src/main/java,在编译过程中它们不会被Maven作为测试运行,但会被包含在apk中并在设备上部署和运行(android.jar具有方法实现)而不是存根).
- 如果您有不调用任何Android API的JUnit测试(直接或传递),请将它们放在src/test/java中,以便JUnit在本地运行它们比在设备上运行更快.
- 确保Android Maven目标设置为jar-no-fork而不是test-jar-no-fork.即使对于仅包含测试的项目,也要这样做.
更新:
最合适的"测试"子树IMO是src/test/java,如第二点所述,只要你的JUnit测试纯粹是POJO测试,它不涉及任何Android API调用,你会没事的.
我使用src/test/java进行所有Robolectric junit测试,在单独的Android测试项目中进行仪器化测试,所有测试都由maven管理,一切正常.
在这里查看Sample MorseFlash项目,其中包括src/test/java作为示例.
| 归档时间: |
|
| 查看次数: |
3385 次 |
| 最近记录: |