2013-08-20 16 views
16

Ho appena aggiornato il mio Capybara Gem dalla versione 1 alla 2.1.0 (più recente). Sulla base di Capybara Leggimi, ho aggiunto questo seguenti righe alla mia spec_helper.rb all'interno Spork.prefork bloccareCapybara 2.1 Errore costante non inizializzata Rails (NameError)

require 'capybara/rspec' 
require 'capybara/rails' 

Ma, ho ottenuto un errore

/home/user_1/.rvm/gems/ruby-1.9.3-p392/gems/capybara-2.1.0/lib/capybara/rails.rb:6:in `block (2 levels) in <top (required)>': uninitialized constant Rails (NameError) 

Mi sono perso qualcosa, al fine di funzionare correttamente Capybara ?

+0

potrebbe essere che avete installato la protezione e provate a usare> rspec nella vostra console? Questo era il mio caso. – Jan

risposta

16

Assicurati di bisogno 'RSpec/rotaie' primi:

require 'rspec/rails' 

require 'capybara/rspec' 
require 'capybara/rails' 

Se avete bisogno di 'capibara/rotaie' prima, si otterrà tale errore.

+0

grazie che risolve il mio problema – tito11

8

Nel file spec_helper.rb, questo errore può essere causato dall'aggiunta della riga require 'capybara/rails' nella parte superiore del codice del file.

Invece, se si guarda a circa metà strada verso il basso il file spec_helper.rb generato automaticamente, si vedrà qualcosa di simile:

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

aggiungere la riga require 'capybara/rails' dopo quelle linee in modo che assomiglia a:

ENV["RAILS_ENV"] ||= 'test' 
require File.expand_path("../../config/environment", __FILE__) 
require 'rspec/rails' 
require 'rspec/autorun' 
require 'capybara/rails' ####### 

(non occorre hash, quelli erano solo per evidenziare la posizione di inserimento)

Speriamo che questo aiuti voi o qualcun altro là fuori ...

+0

Aggiungendo 'require 'capybara/rspec'' al file' spec_helper.rb' è stato sufficiente per farcela funzionare. Ho letto su di esso [qui] (https://kolosek.com/rails-capybara-setup/). –

Problemi correlati