设计测试助手没有加载,或在RSpec中正确要求

时间:2010-12-08 11:37:28

标签: ruby-on-rails rspec devise

我在新设置的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}

我一直在争夺这件事超过一个小时,这让我疯了。非常感谢帮助!

使用:

  1. Rspec 2.2.0
  2. Devise 1.1.5
  3. Rails 3.0.3

1 个答案:

答案 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

如果仍然失败,我认为它会失败,我希望你至少会得到一个更好的错误。