Eu estou trabalhando com o Play 2.2 e ScalaTest. É a primeira vez que eu estou tentando testar um controlador no meu aplicativo de jogo. Eu faço assim:
class TestArtistController extends PlaySpec with OneAppPerSuite {
"ArtistController" must {
"returns artists" in new WithApplication {
val eventuallyResult = controllers.ArtistController.findNearCity("lyon")(FakeRequest())
whenReady(eventuallyResult, timeout(Span(2, Seconds))) { result =>
println(result.body) //it is an Enumerator[Array[Byte]]
result.header.status mustBe 200
}
}
}
}
Isso me permite testar corretamente o resultado de retorno, mas não sei como testar o corpo do resultado. result.body
retorna um Enumerator[Array[bytes]]
e eu totalmente não sei como eu poderia transformá-lo para recuperar o Json
que estou enviando.
Qual é a boa maneira de fazer isso?
Respostas:
3 para resposta № 1Importar play.api.test.Helpers._
e usar funções auxiliares, como contentAsJson(res)
ou status(res)
com res
sendo o resultado de sua ação (você pode precisar usar res.run
em alguns casos para ações assíncronas).