LoginSignup
1
2

More than 3 years have passed since last update.

SpringBoot + JUnit + AWS Codebuild で レポート作成

Posted at

前回 SpringBoot プロジェクトで JUnit のテストを行ってみました。
せっかくなので、テスト結果をAWSに保存するところまで試してみましょう。
流れとしては、
1. GitHub に push
2. その内容を CodeBuild でビルドとテストを実施
3. テストフェーズで作成されたテスト結果を AWS に保存して参照する

といった方法で利用する想定です。

TL;DR

  1. buildspec.yml にテスト結果の xml をレポートとして保存する設定を追加
  2. CodeBuild のレポートグループから確認する

目次

1.CodeBuild でビルドプロジェクトを作成
2.buildspec.ymlの設定を追加
3.ビルド、テストを実行して結果の確認

では早速始めましょう。

1. CodeBuild でビルドプロジェクトを作成

ビルドを行うためのビルドプロジェクトを作成しましょう。

  1. CodeBuild を検索
  2. 左メニューの ビルド > ビルドプロジェクト > ビルドプロジェクトを作成する
  3. 以下のパラメータを入力して ビルドプロジェクトを作成する
key val
プロジェクト名 任意の名前を入力 (例:testsample)
説明 任意の説明を入力
ビルドバッジを有効にする false
ソースプロバイダ GitHub
リポジトリ パブリックリポジトリ
GitHub リポジトリ GitHub repository の url を入力
環境イメージ マネージド型イメージ
オペレーティングシステム Amazon Linux 2
ランタイム Standard
イメージ aws/codebuild/amazonlinux2-x86_64-standard:3.0
イメージのバージョン 最新のバージョンを選択する
環境タイプ Linux
サービスロール 新しいサービスロール
ロール名 任意のロール名を入力 (例: testsample-role)
ビルド仕様 buildspec ファイルを使用する
Buildspec 名
バッチ設定を定義 false
アーティファクト タイプ アーティファクトなし
CloudWatch Logs true

2. buildspec.yml の設定を追加

buildspec.yml にレポート結果の設定を追加する。
SpringBootプロジェクトのルートに buildspec.yml を追加する。

buildspec.yml
version: 0.2

phases:
  build:
    commands:
      - echo start build at `date`
      - ./gradlew test
      - ls -la build/test-results/test
reports:
  test-report:
    files:
      - '*'
    base-directory: build/test-results/test
    discard-paths: no

定義した内容は、

phases.build.commands
ビルド時に実行するコマンドを定義する。 ./gradlew test でテストを実行する。

reports
テストレポートの出力に関する設定

test-report
任意のレポート名を設定する。テスト結果を保存するレポートグループの名前になる。
作られるレポートグループは <ビルドプロジェクト名>-<レポート名> になる。

files, base-directory
レポート結果のファイルを指定する。base-directory からの相対パスを設定する。

discard-paths
filesで指定したファイルの階層構造を保持する、しないを設定する。
no に設定すると
./build/test-results/test/TEST-com.sample.testsample.UserServiceTests.xml

./TEST-com.sample.testsample.UserServiceTests.xml
として保存される。

3. ビルド、テストを実行して結果の確認

設定が追加できたら実際に実行してみましょう。

  1. CodeBuild を検索
  2. 左メニューの ビルド > ビルドプロジェクト > 先ほど作成したプロジェクトを選択
  3. ビルドを開始
  4. ビルドが終わるまでしばし待つ (テストに失敗するケースが含まれるとビルド結果が失敗になりますが、レポートはできてます。)
  5. ビルドが完了したら左メニューの ビルド > レポートグループ
  6. 作成されているレポートグループを選択

これでテスト結果が確認できます。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2