Rspec Capybara 2.1错误未初始化常量轨道(NameError)
我刚刚将我的水豚宝石从版本1升级到2.1.0(最新版本)。基于Capybara自述,我在Spork.prefork块内的spec_helper.rb中添加了以下几行Rspec Capybara 2.1错误未初始化常量轨道(NameError),rspec,ruby-on-rails-3.2,capybara,rspec-rails,Rspec,Ruby On Rails 3.2,Capybara,Rspec Rails,我刚刚将我的水豚宝石从版本1升级到2.1.0(最新版本)。基于Capybara自述,我在Spork.prefork块内的spec_helper.rb中添加了以下几行 require 'capybara/rspec' require 'capybara/rails' 但是,我犯了一个错误 /home/user_1/.rvm/gems/ruby-1.9.3-p392/gems/capybara-2.1.0/lib/capybara/rails.rb:6:in `block (2 levels) i
require 'capybara/rspec'
require 'capybara/rails'
但是,我犯了一个错误
/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)
/home/user_1/.rvm/gems/ruby-1.9.3-p392/gems/capybara-2.1.0/lib/capybara/rails.rb:6:in`block(2层)in':未初始化常量rails(NameError)
为了让水豚正常工作,我错过了什么吗?请确保首先需要“rspec/rails”:
require 'rspec/rails'
require 'capybara/rspec'
require 'capybara/rails'
如果您首先需要'capybara/rails',您将得到该错误。在spec\u helper.rb文件中,此错误可能是由于在文件代码顶部添加了
require'capybara/rails'
行而导致的
相反,如果查看自动生成的spec_helper.rb文件的一半,您将看到如下内容:
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
在这些行之后添加require'capybara/rails'
行,使其看起来像:
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rails' #######
(您不需要散列,它们只是为了突出显示插入位置)
希望这能帮助你或其他人…这对我的水豚-v3.24有效 打开spec_helper.rb文件。可以在应用程序的spec文件夹中找到此文件 在spec_helper.rb文件中找到下面的行
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
加
就在地下
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
线
保存并关闭文件
就这些
我希望这会有所帮助。可能是您安装了guard并尝试在控制台中使用>rspec吗?这就是我的情况。将
require'capybara/rspec'
添加到spec\u helper.rb
文件就足以让它工作。我读到了。
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)