JavaScript を使ったエンドツーエンドテストには capybara の selenium ドライバを使っています。JavaScript のテストが出来るのは大変便利なのですが、selenium を使うと firefox が立ち上がってガチャガチャとやるので遅いです。あとはテスト用のサーバを別途たてておかないといけないのでめんどいです。
capybara-webkit を使うと上記の問題が両方とも解決するらしいので試してみることにしました。が、失敗しました><
依存関係の解決
2011/9/21現在
- rubygems.orgにあるcapybara-webkitは capybara の ~> 0.4.1 に依存しています
- github 上の capybara-webkit は capybara の ~> 1.0.0 に依存しています
- 今はいっている capybara のバージョンは 1.1.0 ><
これは最終的に github 上の capybara-webkig を使い capybara を 1.0.1 にダウングレードすることで解決しました。
qtのビルドエラー
capybara-webkit は qt に依存しているため、qt をインストールする必要があります。
にあるように
brew install qt
とするとエラー
brew install qt --build-from-source
としてもエラー。
ググると、他にもうまくいっていない人が居るようなのですが解決策はどうも見つかりません。もっと詳しく調べてもいいのですが、selenium でもとりあえずテストはできるので一旦保留にしようと思います(時間が経てばインストールできるようになっているかもしれませんし)。うまい解決策をご存じの方いたら教えていただけると嬉しいです!
追記
brew install qt としたときのエラーログをgistにアップしました
qt install error log ― Gist
さらに追記
次の日に試したらなぜかうまくいきました…。恐らく brew update したおかげで qt の参照先がかわったのだと思われます。何という凡ミス><