実際のHTTPスタックでPlayフレームワークアプリケーションをテストする方法の例が"Testing with a server"あります。Playframework:サーバー例でのテストがコンパイルされない
私は、Play 2.5.2とScala 2.11.7のサンプルを成功せずにコンパイルしようとしました。元の例は、輸入がなかった。ここでは輸入品とのコード例は、私が取得するために追加されている(ほぼ)コンパイル:
package models
import org.scalatestplus.play.{OneServerPerSuite, PlaySpec}
import play.api.cache.EhCacheModule
import play.api.inject.guice.GuiceApplicationBuilder
import play.api.libs.ws.WSClient
import play.api.routing.sird._
import play.api.routing._
import play.api.mvc._
import play.api.mvc.Results._
object TestExp04 {
}
class ExampleSpec extends PlaySpec with OneServerPerSuite {
// Override app if you need an Application with other than
// default parameters.
implicit override lazy val app =
new GuiceApplicationBuilder().disable[EhCacheModule].router(Router.from {
case GET(p"/") => Action { Ok("ok") }
}).build()
"test server logic" in {
val wsClient = app.injector.instanceOf[WSClient]
val myPublicAddress = s"localhost:$port"
val testPaymentGatewayURL = s"http://$myPublicAddress"
// The test payment gateway requires a callback to this server before it returns a result...
val callbackURL = s"http://$myPublicAddress/callback"
// await is from play.api.test.FutureAwaits
val response = await(wsClient.url(testPaymentGatewayURL).withQueryString("callbackURL" -> callbackURL).get())
response.status mustBe OK
}
}
、最終的なコンパイルエラーがある:
[error] /home/js/workspace/example/server/test/models/TestExp04.scala:32: not found: value await
[error] val response = await(wsClient.url(testPaymentGatewayURL).withQueryString("callbackURL" -> callbackURL).get())
[error] ^
神秘await
は何?これを実行するにはどうすればよいですか?
例の作者へのフィードバックとして、例を準備するときにインポートを取り除かないでください。輸入の適切な組み合わせを推測するのに多くの時間がかかることがあります。
この特定のドキュメントの問題に関する問題をここで開くことができます:https://github.com/playframework/scalatestplus-play – marcospereira