Railsでautotestな開発環境

最近のRails開発環境は、Vimとautotestで書いてる。環境構築方法のメモ。

# gem install redgreen zentest diff-lcs

 redgreen を入れると、テストの成功を緑色で、失敗を赤色で表示してくれる。どうでもいいようだけど、autotest を入れるとすごく大事。

 autotest は、~/.autotest もしくはカレントディレクトリの autotest というファイルを読み込んで、それを実行してくれるものらしい。autotestでしょでしょ? の記事のソースを頂いて ~/.autotest に置いている。すこぶるいい感じ!

 これで、screen でターミナルを分割して片側で autotest を動かして開発。ファイルを保存すると、それに関連するテストを自動的に実行してくれる。ここで、さっきの redgreen がすごい威力を発揮する。いつも、デュアルディスプレイ環境で書いているのだが、実際にエディタは片側にあるだけ。他方では、autotest がひたすらテストを行ってる。エディタ画面しか見てなくても、redgreen で色がつくと、何のテストかは分からないけど通ったか通ってないかが見なくても目に入ってくる。

 TDDで書いてるので、初めテスト通らなくて書き終えるとテスト通るわけだけど、それは当然。たまに、変な変更してテスト通らなくなっちゃったときとか、autotest のおかげですぐ気づく。戻りはかなり減ってます。

 どこで見掛けたか忘れたけど、いつもは screen の片側で

$ tail -f log/development.log & autotest

としてます。これで、ブラウザでアクセスしているときはひたすらログが表示され、コーディングしているときは延々テストが実行されます。これもPCのスペックがあがったおかげですね(´∀`)

Railsでautotestな開発環境