LoginSignup
1
0

More than 1 year has passed since last update.

【Rails】Rspecのカバレッジをプルリクのコメントで表示する

Posted at

初めに

OSSなどでよく見るCIでの Rspec カバレッジをプルリクのコメントで表示するやり方を記事にしておきます。

環境

  • Rails 6.1.4
  • Ruby 2.7.4
  • codecov 0.6.0
  • simplecov 0.21.2

本編

今回はCircleCI Codecov simplecovを利用してカバレッジを取得していきます。

Codecov の設定

  1. まずは、Codecovにアクセスし、アカウントを作成してください。
  2. リポジトリの設定ページにアクセスし、Codecov Tokenを取得します。

CircleCI の設定

すでにCircleCIでの Rspec が稼働している前提です。

  1. CircleCIの環境変数の設定ページにアクセスする。
  2. CODECOV_TOKENの名前で先ほど取得したトークンを設定します。
  3. orb を利用するので、Organization SettingsSecurityセクションにアクセスします。
  4. Orb Security SettingsのセクションからYesを選択する。

Gem の追加

カバレッジを計測するための Gem とCodecovのための Gem を追加する。

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

Rspecの設定にsimplecovcodecovの設定を追加する。

spec/rails_helper.rb
require 'spec_helper'
require 'codecov'
require 'simplecov'
SimpleCov.start 'rails'
SimpleCov.formatter = SimpleCov::Formatter::Codecov

RSpec.configure do |config|
# 以下省略
end

CircleCI の設定を行う

.circleci/config.ymlorbsを追加する。

.circleci/config.yml

version: 2.1

orbs:
  codecov: codecov/codecov@1.0.5

jobs:
  build:
    steps:
      - setup
      - checkout
      - run:
        # Rspecを稼働させる
      - store_test_results: # coverageディレクトリが消えないようにする
          path: ./coverage
      - codecov/upload: # カバレッジの結果のファイルを送信する
          file: ./coverage/codecov-result.json

これでCodecovにテストのカバレッジが表示されるようになります。
そして、CIが稼働してテストが成功するとプルリクにカバレッジ結果がコメントとして表示されるようになります。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0