2015-10-28 46 views
0

集javaOptions我配置build.sbt爲單位測試中使用(用於Scala和SBT 0.13.5 2.3.9)通過配置不同的播放,在試驗播放/ SBT

javaOptions in Test ++= Seq("-Dconfig.file=/home/kitty/acme/test/resources/test-application.conf") 

播放沒拿起test-application.conf並用application.conf代替conf。 AFAIK,在這種情況下沒有scalaOption。但是,如果我包括在命令行-Dconfig.file,它工作正常,

sbt test -Dconfig.file=/home/kitty/acme/test/resources/test-application.conf 

我該如何解決這個問題?謝謝。

回答

0

你幾乎沒有,你可以強制JVM選項這樣

javaOptions in Test ++= Seq("-Dconfig.file=/home/kitty/acme/test/resources/test-application.conf")

config.file也需要一個相對路徑,例如CONF /測試application.conf

+0

不,它不起作用。它導致在SBT重載過程中「Seq [String]不能附加到Seq [sbt.TestOption]」錯誤。然後,我試着在Test ++ = Seq(Tests.Argument(「 - Dconfig.file =/home/kitty/test/resources/test-application.conf))''中測試testOptions',SBT會繼續,但test-application.conf '不讀。 – thlim

+0

我的不好,答案錯字。這是javaOptions,我會修改 – w4tson

+0

這是不是我說的沒有在我的問題中工作? – thlim

4

javaOptions in Test ++= Seq("-Dconfig.file=/home/kitty/acme/test/resources/test-application.conf")沒不工作,因爲我的fork in Testfalse。因此,將fork設置爲true,它將起作用。 -Dconfig.resource就像-Dconfig.file也一樣。如果不分叉,SBT不會選擇它。嚴格來說,javaOptions只適用於forktrue如上所述here