在游戏框架(2.2.1& sbt 0.13)中,我有一个IntegrationSpec
,可以显示TestServer
。我需要能够为TestServer
设置特定于SSL的系统属性。到目前为止,我能够正确设置它的唯一方法是将它们作为命令行属性传递,如下面的
play -Djavax.net.ssl.keyStore=... -Djavax.net.ssl.keyStorePassword=.... -D... test
我希望测试只使用play test
运行。为了在Build.scala中,我配置了SBT javaOptions,如下所示
val main = play.Project(appName, appVersion, appDependencies).settings(
Keys.fork in Test := false,
javaOptions in Test += "-Dconfig.file=conf/application.test.conf")
在application.test.conf中,我设置了所有系统属性。有了这个,TestServer
甚至没有使用application.test.conf
。我无法弄清楚原因。所以我想我会尝试以下方法:
play -Dconfig.file=conf/application.test.conf test
TestServer
确实使用了application.test.conf
但是没有使用文件中配置的系统属性(javax.net.ssl.keyStore =“...”等)。
所以我有两个问题
play test
启用此功能? 。 (我不想将长属性地图传递给FakeApplication
中的TestServer
。 play -Dconfig.file=conf/application.test.conf test
时,为什么application.test.conf
中配置的系统属性未被使用?答案 0 :(得分:0)
我不确定这是否适用于设置读取配置文件的属性,但您可以使用System.setProperty
设置各个属性,如下所示:
System.setProperty("application.secret","psssst!")