LoginSignup
38
39

More than 5 years have passed since last update.

Unity5.3からUnit Tests Runnerが組み込みになった

Posted at

はじめに

 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

テストコードの編集

NUnit Quick Startをどうぞ

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の新機能、しっかり把握したいですね。

 サンプルプロジェクト

38
39
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
38
39