CircleCIにはJUnit形式のテストレポートを食わせてテスト結果をわかりやすく表示してくれる機能があるのですが、GitHub Actionsでも同じようなことができないかなと思って調べてみたところ、以下のアクションを使えばできそうなので試してみました。
使い方は簡単で、テスト実行後にこんな感じの設定を追加するだけ。
- name: Publish Test Report uses: mikepenz/action-junit-report@v2 if: always() with: report_paths: '**/build/test-results/test/TEST-*.xml'
Scalaプロジェクトの場合、sbtがtarget/test-reports
ディレクトリ配下にJUnit形式のテストレポートを出力してくれるのでreport_paths
を以下のような感じにしておけばOKです。
report_paths: '**/target/test-reports/TEST-*.xml'
テストが失敗した場合、以下のように表示されます。失敗したテストケースとエラー内容を簡単に把握することができます。
CIでテストが失敗した場合、どのテストがどういうエラーで失敗したのかをコンソールに出力されるログからすぐに見つけることが難しかったりするので、特にテストケースが大量にあるプロジェクトではこのアクションはなかなか便利そうです。