2012-08-03 17 views
1

我試圖讓Devise的輔助方法爲控制器規範工作。下面是相關的代碼:使用Devise :: TestHelpers的'sign_in'的NoMethodError

# spec/spec_helper.rb 
RSpec.configure do |config| 
    # other config stuff ... 
    config.include Devise::TestHelpers, :type => :controller 
end 

#spec/controllers/posts_controller_spec.rb 
require 'spec_helper' 

describe PostsController do 

    describe "GET index" do 

    admin = FactoryGirl.create(:admin) 
    sign_in admin # NoMethodError occurs 
    it "does something..." do 
    # etc etc etc 
end 

你必須進行身份驗證,以使來自這條路線,這就是爲什麼我想在管理員登錄所以測試將通過模板。謝謝你的幫助。

回答

0

我認爲sign_in方法必須在其上下文中或在塊之前使用。嘗試:

before do 
    admin = FactoryGirl.create(:admin) 
    sign_in admin # NoMethodError occurs 
end 
+0

奇怪......我正在做同樣的事情,仍然得到了NoMethodError。我發誓這幾個星期前工作... – turboladen 2012-10-08 18:14:56

相關問題