如何从 sbt 命令行设置 scalatest 的系统属性

jav*_*dba 7 scala sbt scalatest

ScalaTest 套件正在使用

 System.getProperty("my.command-line.property")
Run Code Online (Sandbox Code Playgroud)

sbt命令行是什么来实现这个设置呢?

我努力了

SBT_OPTS="-Dmy.command-line.property=foo" sbt "test-only <path to test suite"
Run Code Online (Sandbox Code Playgroud)

还:

JAVA_OPTS="-J-Dmy.command-line.property=foo" sbt "test-only <path to test suite"
Run Code Online (Sandbox Code Playgroud)

最后:

sbt/sbt  '; set javaOptions in Test  +="-Dtest.num.points=500000"; \
project mllib; test-only org.apache.spark.mllib.optimization.LBFGSSuite'
Run Code Online (Sandbox Code Playgroud)

当使用任何这些尝试时,System.getProperty 都会显示为空白。

一种有效的方法是从 Intellij 中运行 ScalaTest 并在运行配置中将JVM 参数设置为-Dmy.command-line.property=foo 。

Rob*_*een 2

你的第三种方法几乎有效(如果fork in Test := true已设置)。但你必须先切换到项目中:

sbt/sbt  '; project mllib; set javaOptions in Test  +="-Dtest.num.points=500000"; \
test-only org.apache.spark.mllib.optimization.LBFGSSuite'
Run Code Online (Sandbox Code Playgroud)