1

简而言之,我想知道,是否有 JVM 命令行选项可以更改起始工作目录?如果它很重要,我正在运行 jdk1.6.0_24。

背景:

我正在使用一个名为 Robolectric for Eclipse 的工具来测试主机 PC 上的 Android 应用程序,而无需仿真。Robolectric 需要创建一个测试项目,但测试本身要从被测试的 Android 项目中运行。这是通过从 Eclipse 中完成的,在设置中将运行配置设置为被测项目:“运行所选项目、包或源文件夹中的所有测试”。

如果可能,我想从 JVM 命令行选项执行此操作,因为我使用的另一个工具Infinitest不允许指定测试的工作目录。但是,它允许您指定 JVM 命令行选项。

解决方法:

在我找到更好的解决方法之前,一个成功的方法是从 Android 项目中复制 AndroidManifest.xml 和 res 文件夹。

4

3 回答 3

8

在 Java SE 中,“当前目录”被放入系统属性user.dir中。

使用 -D 选项手动覆盖此值可能会起作用:

java -Duser.dir=/some/directory ....

但是我不知道这是否也适用于Android中使用的JVM

于 2011-10-20T16:08:56.133 回答
2

“当前工作目录”是一个操作系统概念,而不是 JVM 概念,因此您需要在该级别找到解决方案,例如编写批处理或 shell 脚本。

于 2011-10-20T16:01:50.537 回答
0

我会考虑在 Maven 构建中运行 robolectric 测试。这使得运行测试变得更加容易。在 Eclipse 中也是如此。并且可能也有对 Maven 的无限支持。

于 2011-10-20T16:48:25.550 回答