Ruby on rails 设计未加载的测试助手,或RSpec中正确要求的测试助手

Ruby on rails 设计未加载的测试助手,或RSpec中正确要求的测试助手,ruby-on-rails,rspec,devise,Ruby On Rails,Rspec,Devise,我对新设置的rails项目有以下问题。不知何故,我似乎无法正确地要求设计助手(如登录) 在我的规范/支持目录中。我有一个名为designe的文件,根据设备的自述文件,该文件应包括帮助器方法,以便您可以在RSpec中使用它们: RSpec.configure do |config| config.include Devise::TestHelpers, :type => :controller end 当然,我的spec_helper.rb有: Dir[Rails.root.join(

我对新设置的rails项目有以下问题。不知何故,我似乎无法正确地要求设计助手(如登录)

在我的规范/支持目录中。我有一个名为designe的文件,根据设备的自述文件,该文件应包括帮助器方法,以便您可以在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}
我为这件事争吵了一个多小时,快把我逼疯了。非常感谢您的帮助

使用:

  • Rspec 2.2.0
  • 设计1.1.5
  • Rails 3.0.3

  • 虽然看起来应该是相同的,但我建议尝试将testhelpers显式地包含在您的rspec测试中。像这样:

    require 'spec_helper'
    
    describe DoStuffController do
      include Devise::TestHelpers
    
      before (:each) do
        @user = Factory.create(:user)
        sign_in @user
      end
    
      ... do your stuff ...
    
    end
    

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

    完全相同的错误。在我的其他项目中,运行相同版本的rspec和designe,它似乎仍然可以正常工作。>>我有一个名为designe的文件