Rspec Rails - 模拟为current_user来测试控制器

时间:2011-02-27 04:23:54

标签: ruby-on-rails rspec

我开始为我的控制器编写测试。对于其中一次,我需要登录,以检查页面是否呈现等。

由于我使用的是具有current_user帮助器的Devise而不是User模型,我该如何形成我的:

describe "when it GETS 'town'" do
    it "should render the template and be successful" do
        get :index
        response.should render_template(:index)
        response.should be_success
    end
end

所以我没有得到未定义的“身份验证!”方法(设计特定的)错误?

1 个答案:

答案 0 :(得分:14)

Devise wiki对这个主题有一个很好的写作。基本上你需要添加Devise测试助手,然后在规范期望的时候调用sign_in来获得有效的当前用户。