简而言之,我想知道,是否有一个JVM命令行选项来更改起始工作目录?如果它很重要,我正在运行jdk1.6.0_24。
背景
我正在使用一个名为Robolectric for Eclipse的工具来测试主机PC上的Android应用程序而不进行仿真。 Robolectric需要创建一个测试项目,但测试本身要从测试中的Android项目运行。这可以通过Eclipse完成,在以下设置中将运行配置设置为测试项目:“在所选项目,包或源文件夹中运行所有测试。”
如果可能,我想从JVM命令行选项中执行此操作,因为我使用的另一个工具Infinitest,doesn't allow指定测试的工作目录。但是,它允许您指定JVM命令行选项。
解决方法:
在找到更好的解决方法之前,一个成功的方法就是从Android项目中复制AndroidManifest.xml和res文件夹。
答案 0 :(得分:7)
在Java SE中,“当前目录”被放入系统属性user.dir
。
使用-D选项手动覆盖此值可能有效:
java -Duser.dir=/some/directory ....
但我不知道这是否也适用于Android中使用的JVM
答案 1 :(得分:1)
“当前工作目录”是一个操作系统概念,而不是JVM,因此您需要在该级别找到解决方案,例如编写批处理或shell脚本。
答案 2 :(得分:0)
我会考虑在Maven构建中运行robolectric测试。这样可以更轻松地运行测试。在Eclipse中也是如此。并且Maven也可能有无限的支持。