Play2.1-RC1を使用して簡単なテストを書くことはできません。
アクションコードは次のとおりです。
def echoTestTagFromXml = Action(parse.xml) { request =>
(request.body \ "test" headOption).map(_.text).map { test =>
Ok(views.xml.testTag(test))
}.getOrElse {
BadRequest("Missing parameter [name]")
}
}
テストコードは次のとおりです。
"Test Tag Xml Echo" in {
running(FakeApplication()) {
val req = new FakeRequest(POST, controllers.routes.SimpleResultsController.echoTestTagFromXml().url, FakeHeaders(), Xml("<test>gg</test>"))
val result = controllers.SimpleResultsController.echoTestTagFromXml()(req)
status(result) must equalTo(OK)
}
}
テストでエラーが発生します:
[error] found : play.api.libs.iteratee.Iteratee[Array[Byte],play.api.mvc.Result]
[error] required: play.api.mvc.Result
グーグルから私は問題がBodyParserにあることを知っています。しかし、(APIの調査後)コードを機能させる方法がわかりません。