더북(TheBook)

3.1.3 중요한 햄크레스트 매처 살펴보기

JUnit에 포함되어 있는 햄크레스트 CoreMatchers 클래스는 바로 매처를 시작할 수 있는 매처 모음을 제공합니다. 매처를 몇 개만 사용해도 되지만 더 많은 햄크레스트 매처를 도입할수록 테스트 코드의 표현력은 깊어집니다. 이 절에서는 중요한 햄크레스트 매처를 몇 개 설명합니다.

자바 배열 혹은 컬렉션 객체를 비교할 때는 equalTo() 메서드를 사용하며, 예상한 대로 작동합니다. 다음 코드에서는 단언 두 개가 실패합니다.

iloveyouboss_13/test/scratch/AssertTest.java

assertThat(new String[] {"a", "b", "c"}, equalTo(new String[] {"a", "b"}));

 

iloveyouboss_13/test/scratch/AssertTest.java

assertThat(Arrays.asList(new String[] {"a"}),
    equalTo(Arrays.asList(new String[] {"a", "ab"})));

 

다음과 같이 비교하는 컬렉션이 일치한다면 단언은 통과할 것입니다.

iloveyouboss_13/test/scratch/AssertTest.java

assertThat(new String[] {"a", "b"}, equalTo(new String[] {"a", "b"}));

 

iloveyouboss_13/test/scratch/AssertTest.java

assertThat(Arrays.asList(new String[] {"a"}),
    equalTo(Arrays.asList(new String[] {"a"})));

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