capybaraでphpのアプリのテストをする
WEB+DB vol.75に載っていてやろうと思ったけど地味にできなかったのであれです。
最低限の準備はこれ(↓)くらい!あとはbundle exec rspec spec
とかでテストが実行できる
最初
An error occurred in an after hook ArgumentError: mechanize requires a rack application, but none was given occurred at ~/.rvm/gems/ruby-2.0.0-p247/gems/capybara-mechanize-1.1.0/lib/capybara/mechanize/driver.rb:6:in `initialize'
こんな感じなエラーが出てなんだ?と思ったんだけど、Rackじゃないアプリのテストをする場合は、
config.app = "fake"
ってな感じで、なんでもいいけどappをとりあえずnilにしないようにする必要がある。
ってここで作者が言ってた。https://groups.google.com/forum/#!msg/ruby-capybara/9UFnfrc1S-s/TfQO5uBv7gMJ
mechanizeのあれなので、driverにseleniumとかを使う場合は別に設定しなくても大丈夫。
seleniumだとブラウザ動いて楽しいしキャプチャも撮れたりしていいかもしれないけど逆にブラウザうざかったりするしキャプチャ撮らないしとりあえずmechanizeでしばらくやってみる。