单元测试控制器,ScalaTest正在使用中!框架
我正在使用Play 2.2和ScalaTest。这是我第一次尝试在我的游戏应用程序中测试控制器。我是这样做的:单元测试控制器,ScalaTest正在使用中!框架,scala,unit-testing,playframework-2.2,scalatest,Scala,Unit Testing,Playframework 2.2,Scalatest,我正在使用Play 2.2和ScalaTest。这是我第一次尝试在我的游戏应用程序中测试控制器。我是这样做的: class TestArtistController extends PlaySpec with OneAppPerSuite { "ArtistController" must { "returns artists" in new WithApplication { val eventuallyResult = controllers.ArtistCont
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
}
}
}
}
它允许我正确地测试返回结果,但我不知道如何测试结果的主体result.body
返回一个Enumerator[Array[bytes]]
,我完全不知道如何转换它来检索我发送的Json
这样做的好方法是什么?导入
play.api.test.Helpers.
并使用助手函数,如contentAsJson(res)
或status(res)
,其中res
是您操作的结果(在某些情况下,对于异步操作,您可能需要使用res.run
)