GithubActionsでRailsのテストカバレッジをレポートする
はじめに
Railsでカバレッジ計測する場合に一番使われているgemは恐らくsimplecovではないかと思います。
simplecovでは、デフォルト設定の状態でhtmlのレポートファイルを生成してくれて大変見やすいのですが、コードレビューの度に目視でチェックというのはなかなか出来ないですよね。
テストカバレッジを見やすく手段の一つとして、Code Climate等のSaaSを利用するという方法もありますが、ユーザー数やリポジトリ数に比例して費用が大きくなっていきます。
そこで今回は、そこまで詳細なレポートは不要だけどコードレビュー時に全体のテストカバレッジを分かりやすく表示したいというケースで有用なアクションを作ったので紹介します。
設定方法
name: Tests
on:
pull_request:
jobs:
build:
steps:
# テストの事前準備色々...
- name: Test
run: bundle exec rspec
- name: Simplecov Report
uses: aki77/simplecov-report-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# 以下はデフォルト設定
# resultPath: coverage/.last_run.json
# failedThreshold: 90
# テストカバレッジの詳細を確認したい時の為
- name: Archive coverage artifacts
uses: actions/upload-artifact@v2
with:
name: coverage
path: coverage
if: always()
動作解説
上記の設定をすることでpull_requestイベント毎にテストカバレッジがコメント欄にレポートされるようになります。
細かい考慮点としては以下があります。
- 同一PR内でテストカバレッジに変化がない場合は何もしない
- 同一PR内でテストカバレッジに変化があった場合は以前のコメントを削除して新しくコメントする
- テストカバレッジが設定した閾値(
failedThreshold
)を下回った場合には失敗する
Marketplace
Simplecov Report · Actions · GitHub Marketplace · GitHub
良かったら使ってみてください。
Author And Source
この問題について(GithubActionsでRailsのテストカバレッジをレポートする), 我々は、より多くの情報をここで見つけました https://qiita.com/aki77/items/cfe79929387a42b75ac5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .