はじめに
Unity Cloud Buildにはビルド時にユニットテストを実行する機能があります。今回はその設定方法を紹介したいと思います。
前提条件
- Unity Cloud Buildの基本設定が完了していること
- Unityのバージョンは5.4.1f1で確認
テストスクリプトの作成
Projectウィンドウ左上の「Create」→「Editor Test C# Script」をクリックし、テストスクリプトを作成します。今回は「SampleTest」という名前でテストスクリプトを作成します。あくまでもサンプルなので、テストスクリプトの中身はデフォルトのまま使うことにします。
using UnityEngine;
using UnityEditor;
using NUnit.Framework;
public class SampleTest {
[Test]
public void EditorTest()
{
//Arrange
var gameObject = new GameObject();
//Act
//Try to rename the GameObject
var newGameObjectName = "My game object";
gameObject.name = newGameObjectName;
//Assert
//The object has a new name
Assert.AreEqual(newGameObjectName, gameObject.name);
}
}
テストの実行
メニューの「Window」→「Editor Tests Runner」をクリックし、Editor Testsウィンドウを表示します。
Editor Testsウィンドウの左上の「Run All」ボタンをクリックするとテストが実行されます。Unity Cloud Build上でテストを実行する前に、まずはローカルでテストが成功することを確認します。グリーンになればテスト成功です。
テストの動作確認が完了したら、Unity Cloud Build上でテストを実行するためにテストスクリプトをリポジトリにcommit/pushしておきます。
Unity Cloud Buildの設定
Unity Cloud Buildの「設定」→「テストの設定を表示」の中の「テスト設定の変更」をクリックします。
「Enabled」にチェックを入れて「Next Save→」をクリックします。
なお、ここで設定可能なオプションの説明は以下の通りです。
オプション | 説明 |
---|---|
Enabled | ビルド時にユニットテストを実行する |
Failed Unit Test Fails Build | ユニットテストが失敗した場合にビルドを失敗扱いとする |
Unit Test Method Name | ユニットテストを実行するメソッド名(特に変更する必要なし) |
早速ビルドを実行し、完了後にテスト結果を確認してみましょう。「履歴」タブの当該ビルドの「ログ」をクリックします。
一番右側の「Tests」をクリックするとユニットテストの結果が表示されます。
なお、テストケースが1ケースしか存在しない場合、「undefined - 5」と表示されますが、テストケースが複数ある場合は以下のように正しく結果が表示されます。これでUnity Cloud Build上でユニットテストを実行することができました。
また、「履歴」タブの各ビルドの一番右にある「▼」をクリックし、「Unit Tests のダウンロード」をクリックすると、ビルドに紐づくユニットテストの実行結果をXML形式でダウンロードすることができます。