僕は発展途上技術者

autotest + growl で楽々テスト

もっと早くからやっておけばよかったです。


autotest を使うと Rails でのテスト実行が格段に楽になります。コードを編集しファイルを保存した瞬間、テストを自動実行してくれるので、いちいち開発 <-> テストの各作業の切り替えが必要なく、開発している間中ずっと裏でテストを実行し続けてくれるのです。


さらに mac だと growl と連携できるため、いちいち autotest を実行しているコンソールを開く必要がなく、さらに快適。


以下の情報源を参考にさせていただいたのですが、本日(2008/12/10)時点での各アプリケーションのバージョンの違いや環境の違いからか、そのままではうまく動かないところがありました。メモ代わりに自分の環境でおこなった手順を書き留めておきます。


参考にした情報源



autotest をインストール・設定



sudo gem install ZenTest


でインストールできます。



sudo cp /Library/Ruby/Gems/1.8/gems/ZenTest-3.11.0/example_dot_autotest.rb RAILS_ROOT/.autotest


で、設定ファイルのひな形をRailsアプリケーションのルートフォルダ以下にコピーし、以下のように編集します。



.

.

# require 'autotest/rcov'

require 'autotest/redgreen' <== コメントアウトをはずす

# require 'autotest/restart'

.

.


Growl と連携させる


Growlのページより Growl 1.1.4 をダウンロードします。(Growl がインストールされていなければインストール)


以下の手順で、growlnotify をインストールします。



% cd /Volumes/Growl-1.1.4/Extras/growlnotify

% sudo ./install.sh


次に Growl の設定。Growl の環境設定を開き、以下のように「受信される通知を聞く」と「リモートアプリケーション登録を許可」のチェックを入れておきます。


growl-1.png


表示オプションも次のように変更して、見やすくしておきます。


growl-2.png


このあたりの設定は、


» テストはとことん自動で楽しく...。 - ザリガニが見ていた...。


で書かれているとおりそのままなのですが、「Mac OSX 10.5 Leopardでgrowlnotifyを利用する為に」の手順は飛ばしても私の環境ではうまく動きました。(後述する growlnotify の -H localhost オプションを追加したことが関係するのかもしれません)


通知メッセージとともに表示するアイコンの画像を用意します。



% mkdir ~/.autotest_icons

% cd ~/.autotest_icons

% wget http://blog.internautdesign.com/files/rails_ok.png

% wget http://blog.internautdesign.com/files/rails_fail.png


autotest の設定にもどり、RAILS_ROOT/.autotest の最後に以下を追加します。



この部分も基本的には、


» テストはとことん自動で楽しく...。 - ザリガニが見ていた...。


を参考にしたのですが、4行目の部分が以下のままだと、autotest を実行しても、通知が来たり来なかったりと不安定でした。



system "growlnotify -n autotest --image #{img} -p #{pri} -m #{msg.inspect} #{title} #{sticky}"


» growlとautotestを連携させる - Hello, world! - s21g


を参考にして、-H localhost(赤字部分)を追加したところ、ちゃんと通知されるようになりました。



system "growlnotify -n autotest -H localhost --image #{img} -p #{pri} -m #{msg.inspect} #{title} #{sticky}"


以上で設定終了。



% cd RAILS_ROOT

% autotest


で autotest を実行すれば、テストがおこなわれるたびに結果が Growl で通知されるようになります。


プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Raspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Twitter @jishiha

最近のエントリー

アーカイブ