日曜プログラミングだと、アプリを早く形にしたくて、 ついテストそっちのけで機能ばかり実装しがちな自分。
でもテストを書かないわけにはいかないし。いざ書こうと思ってはみたものの、 どこから手を付けたらいいか悩む。
まぁ、悩んでいても埒が明かないので、取っ掛かりとしてカバレッジを分析することにした。 開発しているのは Rails アプリなので、SimpleCov を使ってみる。
Gemfile に
group :test do gem "simplecov", require: false end
を追加し、
bundle
で gem をインストール。あとは spec_helper.rb の先頭に
require "simplecov" SimpleCov.start "rails"
を追加すれば準備終了。たったこれだけ。
試しに
bundle exec rake spec
を実行すると、RAILS_ROOT/coverage 下に HTML 形式でカバレッジの分析結果が出力される。 ブラウザで開くとこんな感じ。
あまりのカバー率の低さに、そっとファイルを閉じた…。 テスト駆動というか振舞駆動で開発しておけばよかったと後悔。