본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/JAVA

[java] assert 개발 테스트 에서 조건 걸기

by 미노드 2024. 2. 3.

Java에서 버그 또는 예상치 못한 상황을 검출하고 적절히 대응하기 위해 사용하는 방법이 있습니다.
주로 exception을 사용할 수 있으며, 특정한 경우 예외를 던져 경우에 대비하고 프로그램이 멈추지 않게 합니다.
다만 특정한 경우에 대비하기 위해 exception을 여러개 배치하기도 합니다.

- 주로 Exception은 try catch로 묶어서 사용하거나 throws로 에러를 던지기도 합니다.

또다른 방법으로는 switch나 if else 에 조건을 여러개 넣어가며 검증하는 방법도 있겠습니다.
실제로 들어오는 데이터의 검증이 필요하다면 이를 통해 필터링 할 수도 있습니다.

- 유용한 방법이긴 하나, 코드가 상당히 길어져 가독성이 떨어질 수 있습니다.

그러다가 assert 라는 것을 알았는데, jdk 1.4부터 지원하는 기능이라고 합니다.
이는 release build에서 동작하지 않으며 디버깅 영역에서 assert 조건이 맞는지아닌지 검증후 맞지 않는다면 에러를 발생 시킨다고 합니다.

assert [Boolean] // 참이면 Pass, 거짓이면 AssertionError

기본적으로 assert는 실행시 모두 제외된다고 합니다.
-ea 조건을 줘야 작동하며, 개발/테스트 할 때 -ea 옵션을 추가해서 테스트하면 됩니다.

java -ea