【问题标题】:How to test devise gem before_filter :authenticate_user! behavior如何测试设计 gem before_filter :authenticate_user!行为
【发布时间】:2013-11-05 21:26:52
【问题描述】:

我正在使用 rspec 测试我的应用程序,我需要有关设计 gem 测试的提示。 测试权限以查看某些路径的最佳方法是什么。

例如,我的 ProductController 中有这个回调

before_filter :authenticate_user!, :except => [:show, :index]

我需要这样的东西

before (:each) do
    @user = User.create!({
      :name => 'Test User',
      :email => 'user@test.com',
      :password => 'pleaseletmein',
      :password_confirmation => 'pleaseletmein' 
      })
    sign_in @user
  end

 before ([:create, ....]) do
    sign_out @user if @user
  end

let(:valid_session) { {"warden.user.user.key" => session["warden.user.user.key"]} }
let(:un_valid_session) { {} }
.....

describe "create" do
  it "....." do
    get(:create, {}, un_valid_session)
    response.should redirect_to(root_path)
.....

或者分享你测试这个行为之王的方法。

【问题讨论】:

    标签: ruby-on-rails-3 rspec tdd


    【解决方案1】:

    看看 rails3-bootstrap-devise-cancan 项目。 有 features 文件夹,其中包含您需要的几乎所有内容 https://github.com/RailsApps/rails3-bootstrap-devise-cancan/tree/master/features

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      相关资源
      最近更新 更多