Play2控制器测试发送JSON

Play2控制器测试发送JSON,json,testing,playframework-2.0,playframework-2.2,Json,Testing,Playframework 2.0,Playframework 2.2,我想通过发送一些JSON来测试我的控制器: val fakeRequest = FakeRequest(Helpers.POST, controllers.routes.AuthController.login().url, FakeHeaders(Seq(HeaderNames.CONTENT_TYPE ->Seq(MimeTypes.JSON))),json) val result = controllers.AuthController.login()(fakeRe

我想通过发送一些JSON来测试我的控制器:

 val fakeRequest = FakeRequest(Helpers.POST, controllers.routes.AuthController.login().url,
      FakeHeaders(Seq(HeaderNames.CONTENT_TYPE ->Seq(MimeTypes.JSON))),json)

 val result = controllers.AuthController.login()(fakeRequest)

 status(result) must equalTo(OK) <== Cannot check requires Future[SimpleResult]
我怎样才能获得未来的[SimpleResult]? 当我使用没有参数的简单FakereRequest时,一切正常:

 val fakeRequest = FakeRequest()

 val result = controllers.AuthController.list()(fakeRequest)

 status(result) must equalTo(OK)

我找到了解决方案,只需使用JSONBODY的另一个构造函数和方法:

FakeRequest(Helpers.POST, controllers.routes.AuthController.login().url).withJsonBody(json).withHeaders(
      (HeaderNames.CONTENT_TYPE, MimeTypes.JSON))
FakeRequest(Helpers.POST, controllers.routes.AuthController.login().url).withJsonBody(json).withHeaders(
      (HeaderNames.CONTENT_TYPE, MimeTypes.JSON))