LoginSignup
3
0

More than 1 year has passed since last update.

GameCIで簡単にTest Runnerの自動化をしてみよう!

Last updated at Posted at 2022-03-24

はじめに

image.png
最近UnityのTest Runnerに興味があり、いろいろと探していたら  GameCIというものに出会いました。
GameCI のGithub Actionsを使うことによって簡単な手順でテストの自動化することができるようです。
実際にやってみると、本当に簡単に設定が出来て感動したので共有させてください。

UnityのPersonal licenseで説明している方は多いので、
今回はProfessional licenseの方法を説明させていただきます。

登録手順

  1. Unityのサブスクリプションページでシリアルキーをコピーします。
    スクリーンショット 2022-03-24 23.59.33.png

2.Github >[自分のリポジトリ]> Settings > Secrets まで遷移します。
New repository secret ボタンを押下し以下の情報を入力してください。

  • UNITY_SERIAL - (Unityのシリアルキー XX-XXXX-XXXX-XXXX-XXXX-XXXX)
  • UNITY_EMAIL - (Unityに登録したメールアドレス)
  • UNITY_PASSWORD - (Unityに設定したパスワード)

スクリーンショット 2022-03-25 0.24.58.png

テスト自動化手順

Test Runnerで PlayModeとEditModeのテストをする
ワークフローファイルを作成します。

sample_test.yml

name: Test Runner

on: [push]

jobs:
  test:
    name: ${{ matrix.testMode }} on ${{ matrix.unityVersion }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        projectPath:
          - .
        unityVersion:
        # Unityプロジェクトの現バージョンを指定してください。
          - 2020.3.30f1
        testMode:
          - playmode
          - editmode
    steps:
      # Checkout
      - name: Checkout
        uses: actions/checkout@v2
        with:
          lfs: true

      # Cache
      - name: Cache
        uses: actions/cache@v2
        with:
          path: ${{ matrix.projectPath }}/Library
          key: Library-${{ matrix.projectPath }}
          restore-keys: |
            Library-

      # Tests
      - name: Tests
        uses: game-ci/unity-test-runner@v2
        id: tests
        env:
          UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
          UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
          UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
        with:
          projectPath: ${{ matrix.projectPath }}
          unityVersion: ${{ matrix.unityVersion }}
          testMode: ${{ matrix.testMode }}
          githubToken: ${{ secrets.GITHUB_TOKEN }}

.github/workflowsに以下のymlを格納しPushします。

2.Github >[自分のリポジトリ]> Actions > に遷移します。

先程作成したワークフローが走っていることが確認できます。
スクリーンショット 2022-03-25 2.15.56.png

スクリーンショット 2022-03-25 2.26.15.png

今回はpushをトリガーにしてテストが実行するようにしましたが、
設定を変えることでタイミングを変更できます。
sample_test.yml

 # pull_request プルリク時
 # workflow_dispatch 手動
on: [push]

以上です。
とっても簡単でしたよね!

参考させて頂いたURL
https://docs.github.com/ja/actions/using-workflows/events-that-trigger-workflows
https://game.ci/docs

3
0
1

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
3
0