Clone wiki

UnityTestTools / jp / Home

Unity Test Tools Documentation

インテグレーションテストフレームワーク

インテグレーション(統合/結合)テストは、シーン中でアセットを直接検証するプロセスを自動化します。このフレームワークは、エディター上から直接既存のコンテンツに対して使用することを想定して設計されており、各アセットの挙動と、アセット間の実装の両方を検証するテストを構築できます。

インテグレーションテストフレームワークの使い方

アサーションコンポーネント

アサーションコンポーネント(アサーションコンポーネント)はゲームオブジェクトの不変条件を設定する際に使用します。このコンポーネントのセットアップはエディター UI で完結するため、コードを書く必要が一切ありません。拡張やカスタマイズも容易で、ニーズに合わせて構成できます。

アサーションコンポーネントの使い方

インテグレーションでアサーションコンポーネントを使用する

ユニットテストランナー

NUnit Framework がエディターに統合されているため、Unity 上からユニットテストを実行できます。つまりゲームオブジェクトをインスタンス化して、それらに対して処理を行なえます。これは Unity 外では困難な処理です。またテストを実行して結果を報告するテスト実行機能も統合してあります。

ユニットテストランナーの使い方

NSubstituteライブラリ

NSubstitute は Unity Test Framework に同梱されているライブラリです。詳細についてはライブラリのドキュメントを参照してください: http://nsubstitute.github.io/help.html 

サンプル

フレームワークにはサンプルも同梱されています。

サンプル

Q&A

互換性のあるUnityバージョンは何ですか?
このフレームワークはUnity4.xで動作します。

C#のみでユニットテストを書くことは可能ですか?
私達はC#で書くことに注力していますが、UnityScriptやBooでも問題なく書けるようにしています。

いくつかのサブフォルダにこのツールを移動させることは可能ですか?
はい、可能です。

なぜこのツールを「Standard Assets」フォルダに移動させた時、動作しなくなるのですか?
現在のフォルダ構成では「Standard Assets」フォルダで動作するように設計されていません。ですが、少しの修正を行うだけで移動することが可能です。Editorのコードを「Standard Assets/Editor」へ移動し残りを「Standard Assets」フォルダ配下に移動してください。

既知の問題と制限はなにかありますか?

以下の制限があります:
- フレームワーク同梱の NSubstitute はスレッドセーフではありません。
- Windows Apps store (Metro) はアサーションコンポーネントまたはインテグレーションの一部機能に制限がありサポートされていません。
- WebPlayer上でインテグレーションテストを走らせた時、結果を送信することは出来ません。

Updated