如何使用 vm 参数从命令行 运行 JUnit?

How to run JUnit from command line with vm arguments?

有什么方法可以 运行 带有程序参数、VM 参数和工作目录的 JUnit 测试用例吗?

我试过 org.junit.runner.JUnitCore,但我找不到传递这些参数的方法。

您可以使用 -Dproperty=value

传递系统参数

程序参数只是在 java 命令行的末尾传递。但是,它们将被传递给 Junit 的 main 方法。所以你不能在你的测试中使用它们 class。如果您想在测试中使用某些参数 class,请设置一个系统参数并在您的代码中使用 System.getProperty(String) 检索它。

因此命令行看起来像这样(您可能需要设置其他选项,例如 classpath):

java -Dfile.encoding=UTF-8 -Dmy.param=foo org.junit.runner.JUnitCore org.package.MyTest

对于工作目录,我会在调用 JUnit 之前使用 cd 更改到所需的目录。