Unity Assert.IsNotNull

PokeInteractor에 대해 공부하는 도중

Start함수에 Assert.IsNotNull이라는 낯선 친구를 발견했다

이게 뭘까 싶어서 Unity Assert.IsNotNull 이라고 검색해봤는데 원하던 내용을 찾지 못했다

 

Assert라는 녀석은

C/C++ 에서 사용되는 녀석이고 디버깅 모드에서 개발자가 오류가 생기면 치명적일 것이라는 곳에 심어 놓는 에러 검출용 코드라고 한다!

 

Asset함수에 걸리게 되면 버그 발생위치, call Stack 등 여러 정보를 알 수 있다고 한다

규모가 큰 프로젝트에서 이런 call stack, dump 의 흔적이 정말 중요하다고 하기 때문에 assert함수를 잘 사용하면상대적으로 적은 시간 안에 버그를 찾을 수 있다고 한다!

 

실험을 해보았다!

먼저 간단한 코드다 1초마다 count가 1씩 증가하는데Assert.IsTrue에서 count가 5보다 커지면 어떻게 될지 한 번 테스트해보았다

결과는 이렇게 5가 되고나서부터 에러 메세지가 생겨나고 내용은

이렇게 뜬다

Value가 False가 됐다고 기댓값은 True여야 하는데! 발생 위치도 알려준다!

Debug.Log는 에러 메세지의 위치는 알려주는데 저렇게 상세하게는 안알려준다는 점에서 차이점이 있는 것 같다

 

Assert,IsTrue말고도 다른거 많아서 확인해보겠다

 

먼저 AreEqual, IsFalse, Isull, 등이 있는데 대충 이름만 봐도 이제 어떻게 사용되는지 알 것 같다

 

그래도 IsNotNull만 한 번 더 해보려고 한다!

이렇게 하고

이렇게 할당을 안해준다면?!!!

올 너무 신기하다 ㅎㅎ

 

확실히 대규모 프로젝트에서 사용하면 좋을 것 같다

 

나같은경우엔 어디서 에러가 뜰지 아직 파악하지 못하는 응애 수준이지만

고수분들에겐 진짜 유용할 것 같다!