【Rails】Rspecのカバレッジ率を計測表示する手順

2023/11/16に公開

railsのtesting frameworkであるrspecで、カバレッジ率を計測~表示まで行ってくれるgemの導入と使用手順を解説します。

simplecov

https://github.com/simplecov-ruby/simplecov

カバレッジ計測に使用するgemです。
bundle installしてspec設定ファイルに設定を記述することで使用できます。

install

test環境にインストールします
Gemfile

group :development, :test do
  ...
  gem 'simplecov'
end

bundle installが完了したら、rails_spec.rbに組み込む為の設定を記述します。

rails_spec.rb

RSpec.configure do |config|
...
  if ENV['CIRCLE_ARTIFACTS']
    dir = File.join(ENV['CIRCLE_ARTIFACTS'], 'coverage')
    SimpleCov.coverage_dir(dir)
  end

  SimpleCov.start
end

テスト実行

アプリケーションとspecファイルを実装し、rspecを走らせます。
simplecovの設定が成功していれば、rspec実行時にroot_dir配下にcoverage/が作成されます。

 % rspec spec/system/users_spec.rb
 
 ...
Finished in 8.7 seconds (files took 3.64 seconds to load)
8 examples, 0 failures

Coverage report generated for RSpec to /rails_project/coverage. 71 / 90 LOC (78.89%) covered.

カバレッジの確認

coverage/idnex.htmlを確認します。
※カバレッジ率はこれから上げます...

以降、rspec実行毎にcoverage/index.htmlが更新されて最新のカバレッジが確認できるようになります。

Discussion