我在新设置的rails项目中遇到以下问题。不知何故,我似乎无法正确使用Devise助手(例如sign_in)。
在我的规范/支持目录中。我有一个名为devise的文件,根据Device的自述文件,它应该包含帮助方法,以便您可以在RSpec中使用它们:
RSpec.configure do |config|
config.include Devise::TestHelpers, :type => :controller
end
我的spec_helper.rb当然有:
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
我一直在争夺这件事超过一个小时,这让我疯了。非常感谢帮助!
使用:
答案 0 :(得分:0)
虽然看起来它应该是相同的,但我建议尝试在你的rspec测试中明确地包含testhelpers。像这样:
require 'spec_helper'
describe DoStuffController do
include Devise::TestHelpers
before (:each) do
@user = Factory.create(:user)
sign_in @user
end
... do your stuff ...
end
如果仍然失败,我认为它会失败,我希望你至少会得到一个更好的错误。