/ / Controladores de teste unitário com o ScalaTest no Play! framework - scala, teste de unidade, playframework-2.2, escalar

Controladores de teste unitário com o ScalaTest no Play! framework - scala, teste de unidade, playframework-2.2, escalar

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 № 1

Importar 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).