Unity Korea 동영상을 보다가 Rider 에디터를 알게 되고, 구매까지 하게 되었습니다.
https://www.youtube.com/watch?v=I3rH7XSzthQ
혼자서 근본없이 코딩을 공부하다보니 항상 자기 실력에 불만이 많았었는데요.
Rider 에디터를 쓰다보니 유료 결제한 돈이 아깝지 않더군요.
마치 코딩 멘토가 실시간으로 붙어서 페어 프로그래밍 해주는 느낌이었습니다.
(나중에 시간이 날 때 전반적인 Rider 사용 후기를 올려볼게요)
하지만 역시 새로운 툴이다보니 뭔가 잘 안 될때가 가끔씩 발생하는데요.
옛날에 쓰던 MonoDeveloper나 무료인 VSCode 에 비해 해결책을 찾기가 어렵더군요.
오늘은 Rider에서 TestRunner를 돌리던중에, Play Mode 환경 테스트가 안되어서 반나절을 허비했네요.
[현상]
TestRunner 실행시 GameObject 객체 생성에서 에러가 발생하고 중단됨
[문제 해결 과정]
- GameObject 객체 생성 및 테스트는 Play Mode에서 실행해야 함
- Test 코드를 [Test] -> [UnityTest] 로 변경
- Unity 에디터의 Test Runner 창에서 Play Mode로 테스트 실행됨 (Assert 코드 정상 작동)
- Rider 에서 테스트 실행시 [UnityTest]의 Assert 코드가 무시됨
- Rider 에서 Play Mode 테스트 하는 방법, 환경 설정을 구글 검색함
https://github.com/JetBrains/resharper-unity/issues/1571
: Unity Editor - Play Mode를 설정하면 된다고 나옴
- 내가 작업하고 있는 Rider 에는 위의 화면(Unity Editor - Play Mode 선택 팝업창)이 나오지 않음 - 여기서 3시간을 헤맴
- 계속 검색하다 어느 순간, 내 Rider 에는 Unity [Play] [Pause] [Step] 디버깅 버튼도 없음을 깨달음 (유레카!!!)
- Rider 설정 메뉴를 뒤지다가 Unity Support 플러그인이 disabled 되어 있는 것을 발견
메뉴: JetBrains Rider > Preferences > Plugins > Installed
- Rider의 Unity Support 플러그인을 enable 시키고 나니 유니티 디버깅 버튼, Unit Test 탭의 Play Mode 팝업창이 보임
- 유니티 Asset 폴더 아래에 PlayMode Test Folder 생성
https://docs.unity3d.com/Packages/com.unity.test-framework@1.1/manual/workflow-create-playmode-test.html
- Test 코드에 [UnityTest] 를 작성
- Rider에서 Unity Editor - Play Mode 로 설정한 후, GameObject 객체 생성이 포함된 테스트 코드가 정상적으로 작동하는 것을 확인
[알게 된 내용]
- Rider 설치시 잘 모르고 Unity Support 플러그인을 disable 시켰던 것 같음 (ㅠㅠ)
- Unity Support 없이도 Rider에서 TestRunner를 잘 돌려왔음 : Standalone NUnit Launcher 환경에서 테스트 해왔던 것 같음
- Rider의 Unit Test 콘솔 창에서
* Unity Editor - Play Mode 설정하고 테스트를 돌리면 시간이 오래 걸림 (유니티 에디터에서 런타임이 잠시 돌아감)
* Unity Editor - Editor Mode 설정하고 테스트를 돌려도 시간이 조금 걸림
* Standalone NUnit Launcher 설정하고 테스트를 돌리면 빠르게 테스트가 완료됨
- Rider에서 Unit Test 작업시 Session을 여럿 만들어 테스트 코드를 그룹화할 수 있음
TDD를 알게 된 것은 오래되었지만 아직도 익숙하게 다루진 못해요. 대량의 저질 테스트 코드로 어찌어찌 버티는 상황이랄까요.
그래도 이젠 유니티에서 TestRunner 없이는 개발할 수 없는 몸이 되어버렸어요...
코드 수정할 때마다 유니티 에디터에서 빌드하는거 기다리고, 실행하는거 기다리고, 클릭해서 테스트 상황까지 가려면 시간과 에너지 낭비가 너무 심해요.
Rider에서는 코드 작업하고, 유니티 에디터로 가지 않고 Unit Test를 돌릴 수 있어서 너무 좋아요.
저도 얼마전에 시작했는데 막막하네요...