При попытке выполнить интеграционные тесты я столкнулся с проблемой, когда JVM будет висеть, используя 100% CPU. Тест, который поставляется с новым приложением Play, работает правильно, но как только он требует взаимодействия с базой данных, он будет вешать бесконечно. Для всех других модульных тестов все работает плавно, подключаясь к базе данных mysql на localhost. Я хотел бы иметь возможность использовать эту настройку с моими интеграционными тестами.Играйте! Тесты интеграции выполняются с использованием WithBrowser
Вот пример теста, который будет висеть после вызова 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("[email protected]")
browser.$("#password").text("password")
browser.$("#loginbutton").click()
browser.pageSource must not contain("Sign in")
browser.pageSource must contain("Logout")
}
}
}
Это не URL-адрес или порт. Если я делаю 'browser.goTo ("/test ")' где/test выводит простой вид, который не нуждается в базе данных, все работает нормально. В противном случае он зависает. –