CircleCIからpytestのカバレッジ結果を見る


概要

テストカバレッジのレポートをHTMLとして出したけどCircleCIから見る方法がわからない!

という方向けに、どうすればカバレッジレポートをCircleCIから見る方法を書いていきます

注意

結構強引なので、もっといいやり方がある気がします。何かいい方法を知っている方はコメントでお願いします

手順

  1. カバレッジレポートを出す
  2. config.ymlを変更してArtifactsとしてアクセスできるようにする

カバレッジレポートを出す

どう出してもかまいませんが、ここはpytestでやっていこうと思います(楽なので)

srcディレクトリのコードについて、test-reportsディレクトリにHTML形式のカバレッジレポートを出します

pytest --cov=src --cov-report=html:test-reports

config.ymlをいじる

version: 2
jobs:
  build:
    docker:
      - image: circleci/python:3.7.2
    steps:
      (省略)
      - run:
          name: run test
          command: |
            . venv/bin/activate
            pip install pytest
            pip install pytest-cov
            pytest --cov=src --cov-report=html:test-reports
      - store_artifacts:
          path: test-reports/
          destination: circleci-docs

のようにすると、以下の画像のようにArtifactsの部分にカバレッジレポートのファイル群が表示されます

これのindex.htmlを踏むと、カバレッジレポートが見れました!やった

ファイル名をクリックすると、きちんとファイルごとの結果についても見れます

終わりです