「Rspecよくわかんねー。」という思いを胸に抱き続けてきましたが、やっぱりやらないとダメっぽいので使おうとしたら早速 undefined method 'visit'と言われて困る。

原因

このエラーの原因はCapybaraが最近のアップデートでこっそりと対象のディレクトリを requests から features に変えたのが原因らしいです。やめてほしいそういうの。

しかも [Google group][1] にこっそり報告してるだけ。もっと こえを おおきく。

解決策

spec_helper.rb に以下をたす解決策もあるそうですが、将来的に requests じゃなくてfeatures を使うという意向ならそうしたほうが楽そうなので mv spec/requests/ spec/features して自分は対策しました。

ちなみに spec_helper.rbに足す場合はこちら。

require 'capybara/rails'
require 'capybara/rspec'
include Capybara::DSL

参考

[ruby on rails – Capybara: undefined method 'visit' – Stack Overflow][2]

[rails 3.2でRspecを導入したけど NameError – undefined method `visit' って出るときの対策 – どぶんけーブログ][3]