2015-05-14 29 views
0

我在我的应用程序中使用了protect_from_forgery with: :exception。它似乎工作正常,但我想测试它。如何测试protect_from_forgery::exception rails

我有一个表格。我知道每个表单在使用protect_from_forgery时都有与之相关的真实性标记,我想创建一个真实性标记未通过并引发异常的情况。我想看看浏览器如何回应异常。

我将如何做到这一点?

+0

这是一个开箱即用的功能 - 它已经过测试。你不必测试这样的事情。 –

+0

我想测试它的原因是看看浏览器如何响应它。有没有办法解决这个问题? –

回答

0

几种方法可以做到这一点:

  • 的真实性标记的形式为数据的一部分:编辑页面更改/删除这些和表单提交应该导致异常。 Ajax提交的表单也可以在页面的head部分中使用csrf元标记 - 您可能希望将其更改为。

  • 创建独立的HTML页面(您的应用程序之外),其中包含一个表单张贴到你想测试

  • 真实性令牌存储在会话,动作这样的形式显示后命中在另一个浏览器选项卡/会话中调用reset_session的网址。现在提交表单 - 它应该失败。

相关问题