Rspec не загружает файлы поддержки

у меня есть этот файл:

# support/auth_macros.rb
module AuthMacros
  def login_user
    before(:each) do
      @request.env["devise.mapping"] = Devise.mappings[:user]
      @logged_in_user = FactoryGirl.create(:user, username: "logged_in")
      sign_in @logged_in_user
    end
  end

  def logout_user
    before(:each) do
      sign_out @logged_in_user
    end
  end
end

в своем , у меня есть эта строка:

Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }

но когда я запускаю rspec, я получаю такие ошибки, как:

undefined local variable or method `login_user' for RSpec::ExampleGroups::PostsController::POSTCreate::WhenSignedIn:Class

соответствующая функция находится в support/auth_macros, который, я полагаю, будет подхвачен require заявление в spec_helper.

есть идеи, что может происходить?

1 ответов


вам необходим файл, но метод завернут внутри модуля. Необходимо либо удалить модуль упаковки, либо включить его в групповой тест.

обновление:

быть 100% специфическим:require загружает файл и больше ничего не делать. После того, как файл требуется, модуль был создан, но он не включен. Вы должны включить его с: include AuthMacros