어썰트(Assert) :: 안드로이드 설치 및 개발[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

안드로이드 설치 및 개발
[1]
등록일:2018-07-21 09:59:27 (0%)
작성자:
제목:어썰트(Assert)

어썰트(Assert)는 고의로 앱을 강제종료시킴으로써 버그를 잡아내는 방법입니다.

 

절대로 null이 있으면 안 되는 자리인데 null이 있다든지, 양수값만 지정해야 하는데 음수값이 들어왔다든지 등등

잘못된 상황이 발생하면 앱을 아예 종료시켜 버리는 겁니다.


조금 극단적이긴 하지만 숨어있는 버그를 찾아낼 때 매우 유용하죠.

 


Assert로 강제종료를 하면 그냥 종료만 되는 것이 아니고 로그처럼 메시지를 남길 수 있습니다.
메시지에 강제종료된 원인을 써 넣으면 좀 더 버그를 찾아내기 쉽겠죠?



자, 그럼 Assert를 사용해봅시다.



assert를 발생시키려면 Assert 클래스의 static 메서드를 사용합니다.
Assert.assertNotNull(); 이런식으로 말이죠. 로그와 비슷하죠?

첫번째 인자로 오류가 날 시 남길 메시지를 지정합니다.
그리고 두번째 인자null이면 앱이 강제종료되며 로그캣에 오류 메시지를 남깁니다.






위 코드는 두번째 인자에 null을 지정했으므로 앱이 무조건 강제종료됩니다.


한번 실행해볼까요?

 


오류 메시지가 남은 게 보이시죠?



assert   /   NotNull
주장하다   /   null이면 안 된다고

이런 뜻이기 때문에 두번째 인자에 null이 들어오면 강제종료가 되는 것이지요.






 


이렇게 남길 메시지를 생략할 수도 있는데, 그러고 싶은 분들은 없겠죠? (버그 잡기 힘들어질라고)









  

 

assert의 종류는 매우 다양합니다. (청개구리, 강제종료 7종 세트)

이것도 역시 상황에 맞게 골라 쓰시면 됩니다. 



이름

 assertNotNull

  null이면 안 된다고 주장하다. (어길 시 강종, 나머지도 마찬가지)

 assertNull

  null이어야 한다고 주장하다.

 assertEquals

  두 값이 같아야 한다고 주장하다. (타입별로 오버로딩 되어 있음)

 assertFalse

  false여야 한다고 주장하다.

 assertTrue

  true여야 한다고 주장하다.

 assertNotSame

  두 객체가 같으면 안 된다고 주장하다.

 assertSame

  두 객체가 같아야 한다고 주장하다.

 


여기서 assertEquals값 자체를 비교하고 assertSame객체의 포인터를 비교합니다.


[본문링크] 어썰트(Assert)
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=34750
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.