2014-06-13 7 views
5

Utilizzo un'applicazione Rails 4 con RSpec e Capybara.Costanza unitaria Devise RSPEC

mio Gemfile assomiglia:

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 

Il mio file spec_helper.rb assomiglia:

require "capybara/rspec" 
include Capybara::DSL 

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

Ma per qualche motivo sto ottenendo l'errore: uninitialized constant Devise (NameError) . Nella mia app, Devise funziona correttamente, però, e ho il file ControllerMacros in spec/support.

+0

Qual è la traccia completa dello stack? Dove si verifica l'errore? –

+0

per favore mostra il tuo gemfile e dì anche quale versione di ruby ​​/ rails stai usando? –

+0

Gli errori si verificano nel file spec_helper.rb –

risposta

8

provare questo fuori:

tua spec_helper dovrebbe essere come

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

Aggiungi le righe di configurazione a 'spec/rails_helper.rb' invece di' spec/spec_helper.rb' se stai usando la gemma rspec-rails – benjineer