19

Capybara Gem をバージョン 1 から 2.1.0 (最新) にアップグレードしました。Capybara Readme に基づいて、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)

カピバラが正常に動作するために何かを見逃しましたか?

4

3 に答える 3

18

最初に「rspec/rails」が必要であることを確認してください。

require 'rspec/rails'

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

最初に「capybara/rails」が必要な場合、そのエラーが発生します。

于 2013-09-18T21:53:20.563 に答える
11

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' #######

(ハッシュは必要ありません。これらは挿入場所を強調するためだけのものです)

うまくいけば、これがあなたや他の誰かに役立つことを願っています...

于 2014-04-04T00:12:54.027 に答える