Unity Test Runner で自動テストを使ってみましょう。
CS0246 エラーが出た場合は、Assembly Definition の設定で解決できます。
Unity Test Runner
Project
Test Runner の EditMode と PlayMode から Playerコンポーネントのテストをしたいと思います。

Visual Studio 2019
Visual Studio 2019 でソリューションの構成はこのようになっています。

CS0246 エラー
Unity Editor のコンソールに下記のエラーが出力されます。
困った……。
Assets\Tests\EditMode\Editor\EditModeTestScript.cs(16,13): error CS0246: The type or namespace name ‘Player’ could not be found (are you missing a using directive or an assembly reference?)
Assembly Definition
エラーの原因は、Assembly Definition にありました。
下記のサイトで詳しく説明されています。
EditMode や PlayMode から Assembly-CSharp にアクセスできないことが原因でした。

解決方法
Scriptsフォルダに Assembly Definition を作成して、EditMode と PlayMode から参照できるように設定します。
Projectウィンドウで Create -> Assembly Definition を選択します。
ここでは、名前を MyAssembly にしました。

Visual Studio 2019 を見ると、Playerコンポーネントが MyAssembly に入っています。

Inspectorウィンドウで、EditMode と PlayMode の Assembly Definition References に MyAssembly を追加します。

エラーが出なくなりました!
まとめ
Unity Test Runner を使って自動テストを書いていきましょう。
Assembly Definition は今回初めて知りました。
まだ Unity について知らないことがいっぱいあるので、いろいろ触っていきたいと思います。
コメント