📊

【Laravel】Circle CIでPHPUnitテストの実行結果を分析する

2021/09/19に公開

背景

Circle CIにはPHP Unitの実行結果を読み取り、実行結果をダッシュボードで表示する機能がある。

PJチーム内で活用し、テストを書く機運上昇を狙ってメモ。

実装

テストの実行結果をxmlで出力させればよい。

.circleci/config.yml(抜粋)
      - run:
          name: run php unit tests
          command: |
                mkdir -p phpunit
                phpdbg -qrr vendor/bin/phpunit --log-junit phpunit/junit.xml --coverage-html phpunit/coverage-report
      - store_test_results:
          path:  phpunit
      - store_artifacts:
          path:  phpunit/coverage-report

注目すべきは以下の点

  • --log-junitオプションで実行結果をxmlに出力
  • store_test_resultsで出力されたxmlを読み込む

ここでは詳しく触れないが--coverage-htmlでカバレッジも出力している。

結果

実行されたジョブの詳細にアクセスし、TESTSタブからTest Insightsをクリック

image.png

ダッシュボードが表示される。(すごい

image.png

遅いテストや失敗率の高いテストをランキング表示できる。(すごい

image.png

結言

すごい

補足

記事へのご指摘歓迎いたします。

(カバレッジ表示させられたら完璧

GitHubで編集を提案

Discussion