Rails で RSpec + capybara のテストをやっていて、下記のエラーが出ました。
Failure/Error: sign_in user NoMethodError: undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_3::Nested_1:0x007fcc95472cf0> <<
使用しているバージョンは下記のとおりです。
capybara が読み込まれていない感じのエラーですが、spec/spec_helper.rb には、ちゃんと capybara を使う旨記述していて、というか、他のテストでも capybara をガンガン使用していて、なんだろこれ?とか騒いでいたら、
見かねた社内の人が
おいちゃん、capybara は、spec/requests 配下のテストでしか使えないよ <<
と教えてくれました。ああ、たしかに spec/views 配下のテストに書いてました。
あとで公式サイトを見てみたら、下記のように書いていました。
If you are using Rails, put your Capybara specs in spec/requests or spec/integration. <<
というわけで公式サイト(もしくはソース)読もうねという話。誰かがこのページを見て、同じ過ちを回避できたら、僕も救われます。
ではでは。
*参考サイト