지나주 MYPI

지나주
접속 : 3407   Lv. 40

Category

Profile

Counter

  • 오늘 : 18 명
  • 전체 : 127445 명
  • Mypi Ver. 0.3.1 β
[게임 개발] 유니티 - Rider 에디터 연동 (2) 2021/05/10 PM 04:43

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를 돌릴 수 있어서 너무 좋아요.

신고

 

공허의 집시데인저    친구신청

유니티 공부하시는군요.
저도 얼마전에 시작했는데 막막하네요...

지나주    친구신청

하면 할수록 공부해야 할 것들이 계속 나오네요. ㅠㅠ
저처럼 혼자 머리 싸매지 마시고, 주변에 계신 분들께 도움 많이 받으세요~
X