더북(TheBook)

null 값이나 null이 아닌 값을 검사하는 경우는 다음과 같습니다.

iloveyouboss_13/test/scratch/AssertTest.java

assertThat(account.getName(), is(not(nullValue())));
assertThat(account.getName(), is(notNullValue()));

 

null이 아닌 값을 자주 검사하는 것은 설계 문제이거나 지나치게 걱정하는 것입니다. 많은 경우에 이러한 검사는 불필요하고 가치가 없습니다.

iloveyouboss_13/test/scratch/AssertTest.java

assertThat(account.getName(), is(notNullValue())); // 유용하지 않음
assertThat(account.getName(), equalTo("my big fat acct"));

 

앞의 예에서 null이 아닌 값을 검사하는 단언을 제거할 수 있습니다. account.getName() 호출이 null을 반환한다면 두 번째 단언인 equalTo("...")는 테스트하지 않습니다. 작은 차이점이 있는데, 예외를 던지는 null 참조 예외는 테스트 오류가 발생하며 테스트 실패는 발생하지 않습니다. JUnit은 발생한 예외를 테스트 코드에서 잡지 않는 경우 오류를 보고합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.