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

    좋으면 사용해보십시오.
  • 좋은 웹페이지 즐겨찾기