Unity Assert.IsNotNull

etc-image-0

PokeInteractor에 대해 공부하는 도중

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

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

 

Assert라는 녀석은

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

 

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

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

 

실험을 해보았다!

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

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

etc-image-3

이렇게 뜬다

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

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

 

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

 

etc-image-4

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

 

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

etc-image-5

이렇게 하고

etc-image-6

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

etc-image-7

올 너무 신기하다 ㅎㅎ

 

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

 

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

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