rcovでRailsのカバレッジテスト
つくるぶガイドブログ: Rails + rcov でテストカバレッジを調べるを見てrcovを試してみたら面白かった。
前半コードを交えていろいろ書いてあるけど、普段からテストを普通に書いてるなら「rcov でテストカバレッジを調べる」の節から読んだらいいと思う。
以下のコマンドでrcovをgemからインストールして
sudo gem install rcov
以下のコマンドで実行。
rcov -x /usr/local/lib/ruby --rails test/**/*_test.rb
「-x /usr/local/lib/ruby」で自分が作ったのではないgem等のテストを無視(パス指定が大雑把かもしれん)、「–rails」でRailsの余計なファイルを無視してくれるということだ。
これでさくっとテストのカバレッジを示したHTMLが出来上がる。
実に簡単で、見て面白い。
アプリを作ってるときにテスト書くのをサボると後でテストを書くというのはけっこうモチベーション的にしんどいものがあるが、これを使いながらだったら書けそうだ。
ちなみにカバレッジによってテストされてないコード箇所は分かるが、適切なテストが書かれているかが保証されるわけではないし、そもそも必要なコードが書かれているかということも教えてくれないので過信は禁物。
カバレッジが100%でもバグはあり得る。
とはいえ、テストの品質と作成効率を上げるのにかなり役立つツールであることは間違いない。