私が理解しているように、あなたはUnityの自動化テストを理解しようとしています。
ユニティテストツール
これはあなたのgotoメソッドでなければなりませんが、どのように掘り下げる前に、その理由を調べます。
自動化テストの任意の形式を実行するための好ましい方法は、可能な限り実稼働に近い環境でこれを実行することです。Unityテストツール(Unity Editor内にある)のようなものを使用することは、従来の統合テストを書いた人にとっては悪い考えのように思えます。
どうして?統合テストでは、ユーザーがアプリケーションを開いたときにそこにない余分なものを最小限に抑えたいためです。Unityエディターのパフォーマンスや動作は、iOSバージョンとは異なる場合があります(たとえば)。
では、なぜUnity Test Tools(UTT)を使用するのですか?
主な理由は利便性です。Unity EditorとUTTはどちらも、簡単で視覚的に使用できるように構築されています。テストを書いたり、特定のゲームにテストをフックしたり、テストがいつ失敗するかを理解したりするのは簡単です。
Unity Editorと製品版の動作の違いはどうですか?
結局のところ、Unity Editorはアプリケーションのラッパーです。つまり、エディターとプロダクションの間にはいくつかの違いがあります。しかし、統合テストは別として、Unity Editorは非常に長い間ラッパーになっています。何千ものゲームが組み込まれた成熟したプラットフォームです。エディター内で統合テストを実行して得られる結果は非常に正確です。
提供したサンプルシナリオでは、Unityテストツールを使用して、最初のアイテム以外のすべてを簡単にアサートできます。他の統合テストと同様に、シーンを開いて動作を検証できます。
UTTを使用してテストのほとんど(すべてではないにしても)を作成することをお勧めします。継続的統合ツール(Jenkinsなど)との互換性を追加するには、コマンドライン引数を使用してコンソールからそれらを実行することができます。
アプリケーションの開始と手動テスト
Unity Editorでアプリケーションを起動することは、正確に制御できるものではありません。ゲームのその側面などを検証するには、いくつかの基本的な手動テストを使用できます。
これにアプローチする方法は次のとおりです。
- 気になる(または気にするかもしれない)特定のマイルストーンに到達したときに、ゲームが何らかの信号を発するようにしてください。ファイルへのロギングは、最も一般的なアプローチです(自動組み込みロギングまたはサードパーティバージョンを使用)。
- ログを定期的に読み取り、分析します。これは手動で行うことも、2番目にお気に入りのスクリプト言語を使用してスクリプト化することもできます。
代替案
当然のことながら、Unityに関連するすべてのものとして、いくつかの選択肢があります。あなたが検討したいと思うかもしれないいくつかはここにある:
プロジェクトの規模と範囲に応じて、上記で説明したオプションの1つまたは複数を使用できます。