2014-06-13 15 views
5

Ich verwende eine Rails 4 App mit RSpec und Capybara.Unitialized Constant Devise RSPEC

Mein gemfile wie folgt aussieht:

source 'https://rubygems.org' 
gem 'rails', '4.0.0' 
gem 'pg' 
gem 'devise' 
gem 'sass-rails', '~> 4.0.0' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.0.0' 
gem 'jquery-rails' 
gem 'jquery-turbolinks' 
gem 'turbolinks' 
gem "rspec-rails", :group => [:test, :development] 
group :test do 
    gem "factory_girl_rails", "~> 4.0" 
    gem "capybara" 
    gem "guard-rspec" 
end 

Meine spec_helper.rb Datei wie folgt aussieht:

require "capybara/rspec" 
include Capybara::DSL 

RSpec.configure do |config| 
    config.include Devise::TestHelpers, :type => :controller 
    config.extend ControllerMacros, :type => :controller 
end 

Aber aus irgendeinem Grund erhalte ich die Fehlermeldung: uninitialized constant Devise (NameError) . In meiner App funktioniert Devise jedoch ordnungsgemäß und ich habe die ControllerMacros-Datei in spec/support.

+0

sein sollte Was ist der volle Stack-Trace? Wo tritt der Fehler auf? –

+0

Bitte zeigen Sie Ihre gemfile und sagen Sie auch, welche Version von Ruby/Rails Sie verwenden? –

+0

Die Fehler treten in der Datei spec_helper.rb –

Antwort

8

versuchen this out:

Ihre spec_helper wie

ENV["RAILS_ENV"] ||= 'test' 
require File.expand_path("../../config/environment",__FILE__) 
require 'rspec/rails' 
require "capybara/rspec" 
include Capybara::DSL 

RSpec.configure do |config| 
config.include Devise::TestHelpers, :type => :controller 
config.extend ControllerMacros, :type => :controller 
end 
+12

Fügen Sie die Konfigurationszeilen zu 'spec/rails_helper.rb' statt zu' spec/spec_helper.rb' hinzu, wenn Sie das rspec-rails-Juwel verwenden – benjineer

Verwandte Themen