我刚刚将我的Capybara Gem从版本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)
我是否因为水豚的工作正常而错过了什么?
答案 0 :(得分:18)
确保首先需要'rspec / rails':
require 'rspec/rails'
require 'capybara/rspec'
require 'capybara/rails'
如果您首先需要'capybara / rails',您将收到该错误。
答案 1 :(得分:9)
在 spec_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' #######
(你不需要哈希,只是为了突出插入位置)
希望这可以帮助你或其他人......
答案 2 :(得分:0)
这适用于水豚-v 3.24
打开spec_helper.rb文件。可以在应用程序的spec文件夹中找到该文件。
在spec_helper.rb文件中找到以下行
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
添加
require 'capybara/rails'
就在
的正下方ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
行
保存并关闭文件
仅此而已
我希望这会有所帮助。