はじめに
最近UnityのTest Runnerに興味があり、いろいろと探していたら GameCIというものに出会いました。
GameCI のGithub Actionsを使うことによって簡単な手順でテストの自動化することができるようです。
実際にやってみると、本当に簡単に設定が出来て感動したので共有させてください。
UnityのPersonal licenseで説明している方は多いので、
今回はProfessional licenseの方法を説明させていただきます。
登録手順
2.Github >[自分のリポジトリ]> Settings > Secrets まで遷移します。
New repository secret ボタンを押下し以下の情報を入力してください。
- UNITY_SERIAL - (Unityのシリアルキー XX-XXXX-XXXX-XXXX-XXXX-XXXX)
- UNITY_EMAIL - (Unityに登録したメールアドレス)
- UNITY_PASSWORD - (Unityに設定したパスワード)
テスト自動化手順
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 > に遷移します。
今回は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