我在Play Framework 2.2.0中使用Selenium进行了IntegrationSpec,我想在多个环境中运行。
第一个明显的选择是通过命令行将环境作为系统属性传递:
play -Denv=test1 "test-only integration.IntegrationSpec"
但是上面的内容在Play 2.2中不起作用。在测试中,我尝试按如下方式读取它,返回的值为null
。
System.getProperty("env")
我看到确切的问题here,但答案是旧版本。在2.2中它似乎不再起作用了。
有没有其他方法来设置此属性,我可以在我的测试中使用它?
答案 0 :(得分:2)
我的理解是测试在分叉的JVM中运行,这就是为什么没有设置属性的原因。您可以通过在build.sbt中添加以下内容来传递“env”参数:
javaOptions in Test += "-Denv=" + Option(System.getProperty("env")).getOrElse("default")