Rails+RSpec+SimpleCovでコードカバレッジを計測する

SimpleCovというRubyアプリケーションのコードカバレッジを計測するツールがあります。 これをRails+RSpecの環境で利用する方法について基本的なことを纏めておきます。


SimpleCov

SimpleCovは、 Rubyで書かれたコードカバレッジを計測するオープンソースのライブラリで、 MITライセンスで公開されている。

環境

ここでは、

  • ruby 2.3.3(rbenv)
  • rails 5.0.0.1
  • rspec-rails 3.5.2
  • simplecov 0.12.0

を使用。

導入

Gemfileの編集

Gemfileに以下を追加し、bundle installを実行する。

group :test do
  gem 'simplecov', require: false
end

spec_helper.rbの編集

spec_helper.rbに以下を追加する。

require 'simplecov'
SimpleCov.start 'rails'

実行+レポート

あとはRSpecを実行すると、自動でカバレッジが計測され、レポートが生成される。

% bundle exec rspec
...
RSpecの結果
...
Coverage report generated for RSpec to /path/to/app/coverage. 55 / 78 LOC (70.51%) covered.

そして、`/path/to/app/coverage/index.html`を開くと、

simplecov

のようなHTMLでレポートを見ることができる。


SimpleCovにはきめ細かな設定を行ってより使いやすくカスタマイズすることができます。 今回は(超)基本的な使い方だけを纏めてみました。