【问题标题】:Test controller with null_session in rspec在 rspec 中使用 null_session 测试控制器
【发布时间】:2015-02-17 19:26:33
【问题描述】:

我的 Rails4 ApiController 设置如下,以便允许它被卷曲(以避免 CSRF 令牌问题)

class ApiController < ApplicationController
  protect_from_forgery with: :null_session

现在,我希望编写一个 rspec 测试来确认从 ApiController 继承的控制器中的操作即使在没有 csrf 令牌的情况下也能成功运行(例如在 curl 请求中)。 有没有办法在 rspec 测试中模拟这个:null_session

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 rspec cancan


    【解决方案1】:

    除非我遗漏了什么,只需为 CSRF 令牌提供一个值就足以测试

    【讨论】:

    • 不幸的是,据我所知,请求和控制器规范会自动添加 CSRF 令牌。有什么帮助是弄清楚如何在请求规范中将 CSRF 令牌设置为 null 或缺失,以便我们可以测试 API 控制器是否工作而不抛出 ActionController::InvalidAuthenticityToken
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多