質問: お世話になっております。 プログラミング言語の質問というよりはどちらかというとプログラミングエディタの質問です。 テスト駆動開発を勉強最近しはじめたのですが、Jetbrains RiderでUnityのテストコードは作成できますでしょうか。 他のJetbrainsのエディタではCtrl + Shift + TもしくはAlt + Enterで作れるみたいなのですが、RiderではExplorerウィンドウのフォルダを右クリックして、Add > Playmode testで作るしかないようでした。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/3385e87635a4e3c8bf521796a615ed97.png) Alt + Enterでも表示されない ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/51fd40b7cc493bdf1f4db6147c117dd1.png) --- そこで質問なのですが、 1(Playmodetestとの違いがあまりわかっていないですが)Jetbrains Riderでedit mode testを作れないか * 選択肢にPlaymode Testしか表示されていないため。 * UnityのPlayで実行されるテストがPlaymodeTest、それ以外はeditModeTestという風に解釈しています * EditModeTestでテストケースを作れないかと疑問に思う理由はこのUnity使いは全員Unity Test Runnerを使え!爆速のトライ&エラー環境だぞ!というqiitaの記事をみて基本的にeditmodeでテストを作るべきというふうに書いてあったためです 2Unityで実装した`Assets/Scripts/HogeController.cs`と作成したテストの関連付けはどうすればいいのか * 単に`Assets/Tests/xxx/HogeControllerTest.cs`とすれば`Assets/Scripts/HogeController.cs`のテストコードを書いているという認識でいいのでしょうか * 「Jetbrains IntelliJのエディタではcreate testとやればpom.xmlに勝手に依存が記載される」ととある本に書いてあったので何らかの関連をどこかで明記する必要があるのかと思いました。 --- 環境 ``` Windows10 Jetbrains Rider 2018.2 Unity 2018.2.12f1 .NET Framework 4.6 ``` 以上となりますがよろしくお願いいたします。 --- ### 解決策 nakajimakotaroさんに解決方法を教えていただきました。ありがとうございました。 * JetbrainsRiderのExplorerの**Editorフォルダ配下**で右クリックすればEdit Mode Testを作るコマンドが出てくる ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/5284589cef5812ddc68707c3520af00f.png) 対して、 * JetbrainsRiderのExplorerの**Editorフォルダの外**で右クリックすればPlay Mode Testを作るコマンドが出てくる ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/ee10384e1a14f29c1368238d210b0d86.png) そして、 Editorフォルダ以下にTests.csがあればそれはEditModeTest用のテストになる Editorフォルダ以下にTests.csがあればそれはPlayModeTest用のテストになる またそれとは別の問題で Unityプロジェクトではない通常のC#のNUnitテストであれば、開発用のHogeプロジェクトとは別にHogeTestプロジェクトを作成するが、HogeTestプロジェクトにHogeプロジェクトの情報を渡してやるには ``` Jetbrains RiderのExplorer > HogeTestプロジェクト > References > 右クリック > Add Reference... > Hogeプロジェクトを追加 ``` してやればいい ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/20727a04c7373924600b8286c5f2ba13.png)
回答: すでに解決済みかもしれませんが、 Unity使いは全員Unity Test Runnerを使え!爆速のトライ&エラー環境だぞ! に答えが書いてあります。 > > 1(Playmodetestとの違いがあまりわかっていないですが)Jetbrains Riderでedit mode testを作れないか > > > については > > [Test],[UnityTest]などを含むクラスファイルがEditor/以下にあるならEditModeテスト、そうでなければPlayModeテストと認識される > > > のでEditorフォルダ内におけばEditModeテストになり、 > > 2Unityで実装したAssets/Scripts/HogeController.csと作成したテストの関連付けはどうすればいいのか > > > については 特に関連付けなどは必要ありません。 そのまま呼び出せば良いです。 テストの実行方法ですが、UnityメニューのWindow/Test Runnerから実行できます。