【问题标题】:Devise test helper not loading, or being required properly in RSpec设计测试助手未加载或在 RSpec 中正确需要
【发布时间】:2010-12-08 11:37:28
【问题描述】:

我在新设置的 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. 设计 1.1.5
  3. Rails 3.0.3

【问题讨论】:

  • >> 我有一个名为 devise 的文件 devise.rb,对吧?

标签: ruby-on-rails rspec devise


【解决方案1】:

虽然看起来应该是相同的,但我建议尝试将 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 和设计,它似乎仍然可以正常工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多