如何用json体单元测试控制器动作?

时间:2015-07-05 05:11:12

标签: json playframework spec2

假设我有一个提供json writer的案例类

val song1 = Song("Song one", "Artist 1", "Song url 1")

然后我尝试使用解析器create

调用控制器操作Action(parse.json)
adminController.create(FakeRequest().withHeaders(CONTENT_TYPE -> "text/json").withJsonBody(Json.toJson(song1))).run

我收到了错误

[Invalid Json: No content to map due to end-of-inpu at [Source: [B@1ad542ff; line: 1, column: 1]]

我错过了什么?

1 个答案:

答案 0 :(得分:1)

.withJsonBody似乎是供内部使用的。只需使用

val json = /* some JsValue */
FakeRequest().withBody(json)

并使用正确的标头自动正确解析请求。