2015-09-15 4 views
0

Я пытаюсь протестировать методы входа в систему для драгоценного камня и получить ошибку. Я пользовательская девушка для фабрик в моих тестах rspec. Все, что я хочу сделать, это добавить метод before, который регистрирует меня, и после этого я хочу проверить действия для моего контроллера.uninitialized constant Sorcery :: TestHelpers :: Rails :: Controller (NameError)

Мой spec_helper.rb

require 'factory_girl' 

require_relative '../spec/factories/blog.rb' 
require_relative '../spec/factories/user.rb' 
require_relative '../spec/factories/category.rb' 

RSpec.configure do |config| 
    config.include FactoryGirl::Syntax::Methods 
    config.include Sorcery::TestHelpers::Rails::Controller, type: :controller 
    config.include Sorcery::TestHelpers::Rails::Integration, type: :feature 
    config.expect_with :rspec do |expectations| 
    expectations.include_chain_clauses_in_custom_matcher_descriptions = true 
    end 

    config.mock_with :rspec do |mocks| 
    mocks.verify_partial_doubles = true 
    end 

end 

мой rails_helper.rb

ENV['RAILS_ENV'] ||= 'test' 
require File.expand_path('../../config/environment', __FILE__) 

abort("The Rails environment is running in production mode!") if Rails.env.production? 
require 'spec_helper' 
require 'rspec/rails' 

RSpec.configure do |config| 
    config.infer_spec_type_from_file_location! 

    config.fixture_path = "#{::Rails.root}/spec/fixtures" 
    config.use_transactional_fixtures = true 
end 

ошибка я получаю, когда я бегу мое Rspec

Running: spec 
/home/user/work/project_name/spec/spec_helper.rb:9:in `block in <top (required)>': uninitialized constant Sorcery::TestHelpers::Rails::Controller (NameError) 

мою рабочую среду:

Rails 3.2, Ruby 1.9.3, rspec - rails 3.3, sorcery 0.8.2 

ответ

0

Я нашел проблему после нескольких часов боли.

Проблема заключалась в том, что для колдовства версии 0.8.2 вам нужно добавить к spec_helper.rb следующий код:

RSpec.configure do |config| 
.................................(other stuff) 
    config.include Sorcery::TestHelpers::Rails 
..........................(other stuff) 
end 

и после такого использования в ваших спецификациях

@user = User.create 
login_user(@user) 
Смежные вопросы