railstutorialのspecの実行でエラーがでました(☝ ՞ਊ ՞)
Capybaraが無いとエラーがでる
rspecコマンドを実行します。
bundle exec rspec spec/requests/static_pages_spec.rb
/var/www/html/rails/railstutorial2/spec/spec_helper.rb:46:in `block in‘: uninitialized constant Capybara (NameError)
from /home/vagrant/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-2.13.1/lib/rspec/core.rb:107:in `configure’
/var/www/html/rails/railstutorial2/spec/spec_helper.rb:46:in `block in
from /home/vagrant/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rspec-core-2.13.1/lib/rspec/core.rb:107:in `configure’
エラーがでました。
該当の行はCapybara::DSLと書いている行です。
config.include Capybara::DSL
Capybaraが無いのですかね。
GemfileにCapybaraを追加
gem listを確認してからGemfileにcapybaraを追加します。
group :development, :test do
gem ‘sqlite3’, ‘1.3.8’
gem ‘rspec-rails’, ‘2.13.1’
gem ‘capybara’ # 追加
end
gem ‘sqlite3’, ‘1.3.8’
gem ‘rspec-rails’, ‘2.13.1’
gem ‘capybara’ # 追加
end
Gemfileを更新したのでbundle installをします。
動作確認
再びrspecのコマンドを実行します。
bundle exec rspec spec/requests/static_pages_spec.rb
F
F
Failures:
1) StaticPages Home page should have the content ‘Sample App’
Failure/Error: expect(page).to have_content(‘Sample App’)
expected #has_content?(“Sample App”) to return true, got false
# ./spec/requests/static_pages_spec.rb:9:in `block (3 levels) in
Finished in 0.13441 seconds
1 example, 1 failure
Failed examples:
rspec ./spec/requests/static_pages_spec.rb:7 # StaticPages Home page should have the content ‘Sample App’
Randomized with seed 13050
おお!こんどはテストが失敗しました(☝ ՞ਊ ՞)capybaraが無いよっていうエラーで合っていたみたいです。