【问题标题】:Play2 Controller Test sending JSONPlay2 控制器测试发送 JSON
【发布时间】:2014-04-03 03:12:05
【问题描述】:

我想通过发送一些 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]

返回类型是:

Iteratee[Array[Byte],SimpleResult]

我怎样才能得到 Future[SimpleResult] ? 当我使用不带参数的简单 FakeRequest 时,一切正常:

 val fakeRequest = FakeRequest()

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

 status(result) must equalTo(OK)

【问题讨论】:

    标签: json testing playframework-2.0 playframework-2.2


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多