たくあんポリポリ

勉強したことを載せていきます。最近、技術系の記事はZennに書いています。(https://zenn.dev/chittai)

【Unity】検証用にテストメソッドを書いてみたが、Findの結果がNullになってしまう。

下記サイトを参考にテストメソッドを書いてみたのですが、Findの結果がどうしてもNullになってしまった。(特に解決してないし、原因もわかってない)

やったこと

今回、”Buttonを押した時”に動作するようなメソッドを追加したのですが、その挙動を確認するためにテストメソッドを書きました。

参考サイト

まずは参考サイトについて。
qiita.com
qiita.com

実装した内容

呼び出される側

private GameObject FindModelObject(string name)
{
    return GameObject.Find(name);
}

呼び出す側

[Test]
public void CheckModelObject()
{
    Debug.Log(FindModelObject("xxxxx"));
}

やっていることは簡単で、FindModelObject に探したいオブジェクトの名前を引数にわたすと、そのオブジェクトを返してくれます。そのメソッドをテストメソッド内で呼び出して表示しようとしています。実装したテストはUnityの Test Runner の PlayModeで動かしています。

問題になったこと

テストを実行すると、コンソールに Null と表示される(実際はオブジェクトの情報が表示されてほしい)。オブジェクト自体はActiveなので取れるはず。

原因

不明

対策内容

しょうがないので、Start関数内でDebg.Logを使用して表示させたけど(これはできる)、テストになってない、、、

感想

とりあえずちょっとハマったので、自分用にメモ