我上播放框架2.5集成測試的遊戲框架2.5
之上構建一個REST服務,我想創建一個集成測試來測試我的服務,就好像由外部客戶端訪問。 -
使用文檔here我在我的測試類和壓倒 '應用' 使混合OneServerPerSuite:
隱覆蓋懶VAL應用=新GuiceApplicationBuilder()建()
。認爲我不希望覆蓋我的路由器配置。
import org.scalatest.FreeSpec
import org.scalatestplus.play.OneServerPerSuite
import play.api.inject.guice.GuiceApplicationBuilder
import play.api.libs.ws.WSClient
import scala.concurrent.Await
import scala.concurrent.duration.Duration
class ServerIntegration extends FreeSpec with OneServerPerSuite {
implicit override lazy val app = new GuiceApplicationBuilder().build()
"Server" - {
"When requested for a reply" - {
"should give it" in {
val ws = app.injector.instanceOf[WSClient]
val resonseFuture = ws.url(s"http://localhost:$port/my/defined/route").get()
val result = Await.result(resonseFuture, Duration.Inf)
println(result)
}}} }
看來我設法啓動了一個HTTP服務器,但沒有定義我的路由。我得到:'未找到操作'回覆(狀態404)。
正常運行服務器('sbt run')時,我能夠訪問我所有定義的操作(使用瀏覽器)。