2010-01-22

rcovの結果をブラウザで確認する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
rcovはrubyのテストのカバー率を集計してくれるツールです。

railsを使うなら、テストをちゃんとやってこそ意味があると思っているのですが、
なかなかテストを書くモチベーションは上がりにくいものです。

しかしなんらかの指標があれば、テストを書くモチベーションも上がります。
rcovはそんな指標を提供してくれるわけです。

インストール方法や使い方は、簡単に調べられるわけなのでとくに書きません。

rcovを実行するとrailsの場合、
RAILS_ROOT/coverage
に結果をいい感じのhtmlで結果レポートを作成してくれます。

windowsで開発しているならばディレクトリ内のindex.htmlをブラウザで見ればよいわけですが、linux環境に対してsshでログインして開発しているとそういうわけにもいきません。

そこで最初は
publicにcoverageディレクトリをコピーして
./script/server
としてブラウザから
http://x.x.x.x:3000/coverage
で確認したところ、私の環境ではなぜかcssなどがうまく読み込まれず、がっかりな表示なりました。

それを解決してくれたのが、以下のページです。
http://d.hatena.ne.jp/babie/20071101/1193908806

script/rcov-server
という以下のようなスクリプトを用意します。
#!/usr/bin/env ruby
require "webrick"

__DIR__ = File.dirname(__FILE__)
s = WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => "#{__DIR__}/../coverage")
trap('INT'){ s.shutdown }
s.start

rcovの結果を確認したいときは、
script/rcov-server
を実行して
ブラウザから
http://x.x.x.x:8000/coverage
を確認するとステキな結果が確認できるというわけです。
コメントを投稿