Rspec Capybara 2.1错误未初始化常量轨道(NameError)

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

我刚刚将我的水豚宝石从版本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) 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__)