RSpec on Rails を使う

準備

% sudo gem install diff-lcs redgreen ruby-snarl ZenTest launchy rspec webrat autotest_screen --no-ri --no-rdoc

インストール

%  script/plugin install git://github.com/dchelimsky/rspec.git
% script/plugin install git://github.com/dchelimsky/rspec-rails.git
% script/generate rspec

Railsのバージョンを上げたら、上記のコマンドを実行しないとエラーが出るメソッドがあるので注意。

Rails2.2.2でエラーで動かなかった

vendor/plugins/rspec_on_rails/lib/spec/rails/example/rails_example_group.rb:4:
undefined method `cache_template_extensions=' for
ActionView::Base:Class (NoMethodError)

というエラーが出てテストが実行できなかった。
該当箇所をコメントアウトしても今のところ問題は起きていないので、このまま続けてみようと思う。

#ActionView::Base.cache_template_extensions = false

Growlと連携

まず、Growlの設定で「ネットワーク」の「受信される通知を開く」にチェックを入れる。

あと、growlnotify をインストールしていなかったらインストールする。Growl-1.1.4.dmg をマウントしたら、

% cd /Volumes/Growl-1.1.4/Extras/growlnotify
% sudo ./install.sh

という感じでインストールできます。

あとは、autotest の設定ファイルを ~/.autotest に記述する。growlとautotestを連携させる – Hello, world! – s21g の通りに設定させてもらう。必要あるか分からないけど、一応 Growl の再起動をして試したところ無事動作しました。

動かなかったら、export RSPEC=true をする必要がある。

RSpec on Rails を使う