在Test for Play / SBT中设置javaOptions

时间:2015-10-28 11:19:42

标签: scala unit-testing playframework

我为单元测试配置了build.sbt,使用不同的Play(2.3.9用于Scala和SBT 0.13.5)配置,

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

我该如何解决这个问题?感谢。

2 个答案:

答案 0 :(得分:7)

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仅与fork合作true,如上所述here

答案 1 :(得分:1)

你几乎就在那里,你可以强制像这样的JVM选项

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

config.file 也采用相对路径,例如conf / test-application.conf