読者です 読者をやめる 読者になる 読者になる

彼女からは、おいちゃんと呼ばれています

ウェブ技術や日々考えたことなどを綴っていきます

capybara を使っているのに「undefined method `visit'...」エラーが出た場合の対処

RailsRSpec + capybara のテストをやっていて、下記のエラーが出ました。

Failure/Error: sign_in user
NoMethodError:
undefined method `visit' for #

使用しているバージョンは下記のとおりです。

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.

というわけで公式サイト(もしくはソース)読もうねという話。誰かがこのページを見て、同じ過ちを回避できたら、僕も救われます。

ではでは。

参考サイト