Editor Tests Runner は、NUnit ライブラリを実装したものです。NUnit ライブラリは、.Net 言語のユニットテストライブラリとしてよく知られています。NUnit に関する詳細は、http://www.nunit.org/ を参照してください。実装は、バージョン 2.6.4.に基づいています。
NUnit を使用したことがない人は、初めに NUnit の Quick Start ガイドを参照してください。ここでは、C# ベースの金融アプリケーションを例に、NUnit を使用した開発プロセスが紹介されています。
Unity でテストを始めるには、まず、Editor Test Runner ウィンドウを開きます。プロジェクトに何もテストファイルがない場合は、サンプルテストを作るオプションがあります。また、メニュー (Assets > Create > Editor Test) からエディターテストファイルを作成することもできます。
Editor Test Runner は NUnit ライブラリを使用してテストを作成し、実行します。Editor Testは、Editor フォルダー内に置いてください (詳細は 特殊なフォルダー名 を参照)。 Runner はアセンブリ (プロジェクト内に含まれる外部アセンブリで、nunit.framework ライブラリを参照するものを含みます) をスキャンし、見つけたテストのリストを作成します。
Editor Tests Runner は IDE (MonoDevelop や Visual Studio など) のテスト実行機能を通してエディターと併用できるので、Unity API を呼び出すことができるいう利点があります。Unity API の中には、エディター外からアクセスできないものもあります(例えば、ゲームオブジェクトをインスタンス化する場合)。テストはエディター内で、「non-play」モードにし、一体化したフレームで実行されます。フレームをスキップする API を実行することはできません。
Test Runner で実行するコードは、現在開いているシーンに直接影響を与えます。例えばゲームオブジェクトをインスタンス化する場合、そのシーンを通して保持されます。たいていの場合、そのような挙動は望ましくありません。Test Runner には、Undo システムが組み込まれており、実行後に変更をアンドゥしようとします。それを行うには、Undo システムでアンドゥできる変更をすべて登録する必要があります。注意:変更をアンドゥすると、実行時間を余分に必要とすることがあります。オプションとして、新しいシーンでテストを実行することもできます。このオプションを選択すると、各テスト実行前に新しいシーンが開かれ、テストが実行されてから、元のシーンがあらためて開きます。このときシーンを保存するよう促されることがあります (Autosave シーンオプションが選択されていない場合)。
テストリストの下に (環境設定によっては、横に) テスト結果のプレビューが表示されます。テストの処理時間、エラー、実行中に投げられた例外、ログを確認できます。
以下のオプションもウィンドウメニュー (ウィンドウの右上) で選択できます 。
Editor Testをヘッドレスモード (コマンドライン使用) で実行することが可能です。そのためには、Unity を以下の引数で実行してください。
例:
プロジェクトを指定して、すべてのエディターテストを実行する。
\\t-projectPath PATH_TO_YOUR_PROJECT
名前に「Player」を含むプロジェクトからすべてのエディターテストを実行し、結果ファイルを C:\temp\results.xml に置く場合
>Unity.exe -runEditorTests
-projectPath PATH_TO_YOUR_PROJECT
-editorTestsResultFile C:\temp\results.xml
-editorTestsFilter Player
エディターは次のコードで結果を返し、終了します。
Windows では、実行結果を見る代わりに、以下を実行してください。
\\tstart /WAIT Unity.exe ARGUMENT_LIST
これによって、コマンドの実行が終了するのを遅らせ、ERRORLEVEL 変数からのリターンコードを読むことができます。