在尝试运行集成测试时,我遇到了一个莫名其妙的问题,即 JVM 会挂起,占用 100% 的 CPU。新的 Play 应用程序附带的测试可以正常工作,但是一旦需要数据库交互,它就会无限期挂起。对于所有其他单元测试,一切运行顺利,连接到 localhost 上的 mysql 数据库。我希望能够在我的集成测试中使用相同的设置。
这是一个在调用 browser.goTo("/") 时挂起的测试示例
import org.specs2.mutable._
import play.api.test._
import play.api.test.Helpers._
class TestSpec extends Specification {
"Application" should {
"work from within a browser" in new WithBrowser(webDriver = HTMLUNIT, app = FakeApplication()) {
browser.goTo("/")
println(browser.pageSource)
browser.$("#email").text("test@fakeemail.com")
browser.$("#password").text("password")
browser.$("#loginbutton").click()
browser.pageSource must not contain("Sign in")
browser.pageSource must contain("Logout")
}
}
}