Launchable Advent Calendar 5日目 - record tests command
Launchableの各機能の利用方法を紹介する Launchable Advent Calendar 5日目です。
はじめに
5日目はLaunchableへテスト結果を送る launchable record tests
コマンドについて紹介します。
Konboi/launchable-java-exampleリポジトリを使って説明していきます。
launchable record tests
launchable record tests
はテスト結果をLaunchableへ送るコマンドになります。
テストフレームワークによって出力される形式が異なるためlaunchableコマンドでは各テストフレームワーク用のプロファイルを提供しています。 Maven
, Gradle
や pytest
などさまざまなテストフレームワークに対応しています。
対応しているテストフレームワークについてはこちらをご覧ください。
Konboi/launchable-java-exampleリポジトリでは Maven
を使用しているのでMavenプロファイルを使用します。 maven-surefire-plugin
をデフォルトで使用しているため target/surefire-reports
ディレクトリ以下にテスト結果のファイルが生成されます。
コマンドはこのように実行します。
$ mvn test # テスト実行
$ launchable record tests maven target/surefire-reports/TEST-example.*.xml
Launchable recorded tests for build 3617332394 (test session 1607535) to workspace konboi/advent-calendar-2022 from 4 files:
| Files found | Tests found | Tests passed | Tests failed | Total duration (min) |
|---------------|---------------|----------------|----------------|------------------------|
| 4 | 4 | 4 | 0 | 0.0001 |
Visit https://app.launchableinc.com/organizations/konboi/workspaces/advent-calendar-2022/test-sessions/1607535 to view uploaded test results (or run `launchable inspect tests --test-session-id 1607535`)
実行に成功すると送られたテスト結果の概要が表示されます。
GitHub Actionsでの例
Day 4のGitHub Actionsの設定ファイルに launchable record tests
コマンドを追加してみます。
追加した項目は2点です。
1点目はテストの実行。mvn test
でテストを実行しています。JUnit形式のテスト結果を target/surefire-reports
以下に出力しています。
2点目は先ほど紹介した launchable record tests
コマンドの追加です。注意する点としてテストが失敗した場合でも launchable record tests
コマンドを実行する必要があります。
CIによっては終了ステータスが0以外の場合、そこで処理を止めてしまう場合があります。その場合、テスト成功の結果のみLaunchableへ送られることになってしまいます。
ですので、GitHub Actionsの場合は if: always()
を launchable record tests
を実行するステップに設定して下さい。
その他CIサービスを利用している方はこちらを参照ください。
run: launchable verify
- name: record build
run: launchable record build --name ${GITHUB_RUN_ID}
+ - name: Run tests
+ run: mvn test
+ - name: launchable record tests
+ run: launchable record tests maven target/surefire-reports/TEST-example.*.xml
+ if: always()
実行に成功するとWeb Appでも結果を確認できます。
さいごに
本日は launchable record tests
コマンドについて紹介しました。
6日目はPTSのコマンドである launchable subset
コマンドについて紹介します。
Discussion