【发布时间】:2017-03-08 04:13:05
【问题描述】:
我的功能测试遇到了一个小问题。
我有戏! 2.5 scala 项目,其中我在某些表单上添加了 CSRF 验证,相关的 scala-test 单元测试失败,正如预期的那样,错误:
java.lang.RuntimeException: No CSRF token present!
我正在使用带有路由的 FakeRequest 来测试它们:
val fakeRequest = FakeRequest(GET, s"/backOffice/login")
val Some(result) = route(app, fakeRequest)
如何添加 CRSF 令牌以使我的测试再次成功?
(谢谢,抱歉英语不好,我不是本地人)
【问题讨论】:
-
您好,感谢您回答我!我应该准确地说我也在测试模板,并且我正在基于每个操作进行 CSRF 保护(文档中的第二种情况,而不是第一个带有过滤器的情况)。由于这个原因,我不能绕过 CSRF,因为我的模板需要一个 CSRF 令牌出现在 FakeRequest 中,就像我已经测试过的第二个链接一样(也应该精确,抱歉),但它适用于 2.2 .1,而 Intellij 对我大喊“无法解析符号 SignedTokenProvider”你知道我如何在 play 2.5 中做到这一点吗?
-
找到了解决方案并做出了一个 trait :) 如果您有兴趣,请查看我添加的答案 ^^
标签: scala unit-testing playframework playframework-2.5