【问题标题】:Play2 Scala specs2 - multiple test in a single application WithServerPlay2 Scala specs2 - 在单个应用程序 WithServer 中进行多项测试
【发布时间】:2016-01-15 07:35:06
【问题描述】:

按照post 中的说明,我已经能够在单个FakeApplication 实例中运行多个测试。这可以显着减少测试执行时间并避免与play-reactivemongo 插件相关的一些问题。

所以我改变了我的测试类:

{
  "SomeController" should {
    "do this" in FakeApplication(additionalConfiguration = addConf) {
      ...
    }
    "do that" in FakeApplication(additionalConfiguration = addConf) {
      ...
    }
  }
}

到这里:

def application = FakeApplication(additionalConfiguration = addConf)
step(play.api.Play.start(application))

"SomeController" should {
  "do this" in {
    ...
  }
  "do that" in {
  ...
  }
}

step(play.api.Play.stop())

现在的问题是我有一些测试使用WithServer 构造函数来运行测试服务器。像这样:

{
  "SomeOtherController" should {
    "do this" in new WithServer(app = FakeApplication(additionalConfiguration = addConf)) {
      ...
    }
  }
}

是否可以为所有测试运行单个测试服务器?

谢谢。

【问题讨论】:

    标签: scala playframework-2.0 specs2


    【解决方案1】:

    我找到了解决办法:

    def application = FakeApplication(additionalConfiguration = addConf)
    def server = TestServer(port = 3333, application)
    step(server.start())
    
    "SomeController" should {
      "do this" in {
        ...
      }
      "do that" in {
        ...
      }
    }
    
    step(server.stop())
    

    再见

    【讨论】:

    • 有什么理由使用“def”来表示应用程序和服务器,而不是“val”?您现在也应该能够将自己的答案标记为已接受。
    猜你喜欢
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 2013-10-16
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    相关资源
    最近更新 更多