はじめに
Unity5.3から以前はUnity Test Toolsの一部だった、Unit Tests RunnerがUnity組み込みになりました。
この投稿では、関連情報の紹介と簡単な使い方を説明します。
v1.5.7未満のUnity Test Toolsを使っていたUnityのプロジェクトを、Unity 5.3にアップグレードした場合、コンパイルエラーになります。Unity Test Toolsをv1.5.7かそれより新しいものに更新してください。
Unity5.3以前
Unity5.3以前は、Unity Technologies社が提供するUnity Test Toolsを利用すればユニットテストを行えました。このアセットの内部にはNUnitのDLLが含まれていました。ちなみにこのAssetはユニットテスト関連以外にもIntegration Test Runnerなども含まれています。
bitbucketはこちら。
Unity 5.3で変更
Unity 5.3からUnit Test RunnerがUnity組み込みになりました。ユニットテストのみであれば、わざわざUnit Test Toolsをプロジェクト内にインポートする必要も無くなりました。
またそれに伴いUnity Test Toolsのリリースノートを見ると、v1.5.7よりNUnitのDLLなど、Unit Testsに関わるものは無くなったようです。
Unityの公式ドキュメント、「Editor Test Runner」によると、内部で使っているNUnitのバージョンはv2.6.4のようですね。
バッチモードでのテスト実行もできるようです。
また以前と同様、TestクラスはEditor
フォルダ以下に入れるようです。
簡単な使い方
Testクラスの生成
メニュー(Unityエディタ) Assets > Create > Editor Test C# Script
MonoDevelop上ででテスト実行
メニュー(MonoDevelop) Run > Run Unit Tests
テストコードの編集
Unityエディタ上でテスト実行
Window > Editor Tests Runner でTestRunnerのウィンドウが表示されてRun Allボタンをクリック
以前Unity Test Toolsを使っていたプロジェクト
Unity 5.3からUnit Test RunnerがUnity組み込みになり、UnityはNUnitを含むようになりました。
また、v1.5.7未満のUnity Test ToolsはNUnitのDLLを含んでいました。
かつてv1.5.7未満のUnity Test Toolsを使っていたUnityのプロジェクトを、Unity 5.3にアップグレードした場合、NUnitが重複しコンパイルエラーになります。Unity Test Toolsをv1.5.7かそれより新しいものに更新すればOKです。(一度Unity Test Toolsを全部消すのがおすすめ。)
Unity 5.3とUnity Test Toolsでは、Unit Test Runnerのウィンドウの表示方法が異なる点に注意です。
さいごに
一ヶ月以上、私は気づかなかったこの機能。テラシュールブログさんの「【Unity】Unity 5.3で個人的に気になった機能まとめ」にはなかったですが、Keigo Andoさんの「Unity5.3の機能まとめ」というスライドや公式ブログ「UNITY 5.3: 新機能とさらなるプラットフォーム」には記載がありましたね。
この変更、自分は結構嬉しいです。サンプルプロジェクトやコードスニペットを試す際、わざわざUnity Test Toolsをインポートせずとも、気軽にNUnitを使えるようになったからです。
JSON、IAP、マルチシーンエデティングなど、たくさんあるUnity 5.3の新機能、しっかり把握したいですね。