【问题标题】:Play Framework: Set environment for Integration testPlay Framework:为集成测试设置环境
【发布时间】:2014-01-30 15:23:41
【问题描述】:

我有一个在 Play Framework 2.2.0 中使用 Selenium 的 IntegrationSpec,我想在多个环境中运行它。

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

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

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

但上述在 Play 2.2 中不起作用。在测试时,我尝试如下读取,返回值为null

System.getProperty("env")

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

是否有另一种方法可以设置此属性以在我的测试中使用它?

【问题讨论】:

    标签: playframework-2.0 selenium-webdriver integration-testing


    【解决方案1】:

    我的理解是测试在分叉的 JVM 中运行,这就是未设置属性的原因。您可以通过在 build.sbt 中添加以下内容来传递“env”参数:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      相关资源
      最近更新 更多