【发布时间】:2015-12-06 20:15:38
【问题描述】:
我正在为我的 play 应用程序控制器编写测试用例,但在获取操作结果时遇到了问题。
val jsonresult = UserController.importOPML()(
FakeRequest(POST, "/user/import-opml",FakeHeaders(),data)
.withCookies(cookie)
)
这只有在 Action 被指定为parse.multipartFormData 时才有效,如果它被更改为parse.json
类型不匹配;发现:play.api.libs.iteratee.Iteratee[Array[Byte],play.api.mvc.SimpleResult] 需要: scala.concurrent.Future[play.api.mvc.SimpleResult]
我不知道为什么,所以我改成
val Some(jsonresult ) = route( request )
这次编译可以通过,但我的身份验证存根不能通过了。是什么导致了那个奇怪的错误?如果使用路由,为什么 cookie 不起作用。
【问题讨论】:
-
将结果放入未来区块
-
您能否发布更多代码,例如一个简化的测试用例。顺便提一句。你应该能够通过调用
contentAsString(jsonresult)或contentAsJson(jsonresult)来让你的东西正常工作(确保你有import play.api.test.Helpers._来使用它们)。
标签: scala playframework