游戏框架:设置集成测试的环境



我有一个IntegrationsPec使用Selenium在Play Framework 2.2.0中我想在多个环境中遇到的Intemationpec。

  1. 在开发环境中,我将启动测试服务器并针对该服务器运行集成测试。
  2. 在测试环境中,我不会启动测试服务器,而只需再次运行每个测试环境即可。(对于每个环境,URL都会有所不同。)

第一个明显的选择是通过命令行作为系统属性通过:

 play -Denv=test1 "test-only integration.IntegrationSpec"

,但以上在播放2.2中不起作用。在测试中,我尝试按以下方式读取它,并且返回的值是null

System.getProperty("env")

我看到这里问的确切问题,但答案是针对较旧版本的。在2.2中,它似乎不再起作用。

有其他方法可以在测试中使用它可以使用它吗?

我的理解是,测试在分叉的JVM中进行,这就是为什么未设置属性的原因。您可以通过在构建中添加以下来传递" env"参数。SBT:

javaOptions in Test += "-Denv=" + Option(System.getProperty("env")).getOrElse("default")

最新更新