assertThat()으로 null 여부 확인하기
JUnit 4.4 전에는 assertNotNull(dao); 이런식으로 확인했었습니다.
그러나 4.4부터 assertThat()을 사용해서 다음과 같이 테스트 할 수 있습니다.
assertThat(dao, is(notNullValue()));
여기서 is를 빼면 어법이 좀 그렇긴 하지만.. 그래도 동작합니다.
assertThat(dao, notNullValue());
처음엔 이렇게 작성했었습니다.
assertThat(dao, is(not(null));
하지만 위에 코드는 안 됩니다. null이 값이 아니기 때문에, 값 비교 하는데 null 때문에 NullPointerException이 발생합니다.
Maven을 사용하고 계시다면..
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.1</version>
</dependency>
이렇게 라이브러리를 추가해주신 다음에 해야 합니다. static import를 추가해두면 편하겠죠.
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;