在 Test = false 配置选项被忽略时播放 2.3.7

Play 2.3.7 when fork in Test = false config options are ignored

我正在使用 play 2.3.7 当 fork in Test := false 在我的 build.sbt 中 运行ning 测试时,conf 文件没有被 play 加载。

javaOptions in Test += "-Dconfig.file=conf/test.conf" 在我的 build.sbt 中应该在 运行ning 测试时加载 test.conf 但那没有发生。

解决方法是 运行 激活器并在命令行上传递上述参数,如下所示:

activator -Dconfig.file=conf/test.conf "test-only test.integration.SomeTest"

如果我删除 fork in Test := false 那么一切都很好,播放会找到 conf 资源 - 但当然我无法通过测试,这很糟糕。

我的 build.sbt 中缺少什么?这是游戏中的错误吗?

分叉测试意味着您 运行 然后在一个单独的 JVM 上。

不分叉测试意味着它们 运行 在与 SBT 本身相同的 JVM 中,并且您无法更改 JVM 启动后使用的参数。

如果您不想分叉,唯一的解决方案是将所有这些标志传递给启动时 SBT 运行 开启的 JVM,就像您在问题末尾提到的那样。