Play 2.3.6 - 向 WithBrowser(app=...) 提供 FakeApplication 中断测试

Play 2.3.6 - Providing FakeApplication to WithBrowser(app=...) breaks test

我发现如果我提供自己的 FakeApplication:

,则使用 WithBrowser 的集成测试会失败
@RunWith(classOf[JUnitRunner])
class IntegrationSpec extends Specification {

  "Application" should {
    "work from within a browser" in new WithBrowser(app = FakeApplication()) { 
      browser.goTo("http://localhost:" + port)
      browser.pageSource must contain("Some text from my frontpage")
    }
  }

我总是得到一个空白页:

'<?xml version="1.0" encoding="UTF-8"?>
<html>
  <head/>
  <body/>
</html>
' doesn't contain 'Some text from my frontpage'

如有任何建议,我们将不胜感激。

查看 WithBrowser() 的构造函数,我决定尝试通过传递 webDriver 参数在抽象 class 中定义的 this(...) 构造函数:

 new WithBrowser(WebDriverFactory(Helpers.HTMLUNIT), app = MyFakeApplication())

事实证明这就是解决方案。正在运行