⛳
【Rails】Rspecのカバレッジ率を計測表示する手順
railsのtesting frameworkであるrspecで、カバレッジ率を計測~表示まで行ってくれるgemの導入と使用手順を解説します。
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