더북(TheBook)

3.1.2 assertThat은 명확한 값을 비교

대부분 단언은 기대하는 값과 반환된 실제 값을 비교합니다. 단지 잔고가 0보다 크다고 하기보다는 다음과 같이 명시적으로 기대하는 잔고를 단언합니다.

iloveyouboss_13/test/scratch/AssertTest.java

assertThat(account.getBalance(), equalTo(100));

 

assertThat() 정적 메서드는 햄크레스트 단언의 예입니다. 햄크레스트 단언의 첫 번째 인자는 실제(actual) 표현식, 즉 우리가 검증하고자 하는 값(종종 대상 시스템에 대한 메서드 호출)입니다. 두 번째 인자는 매처(matcher)입니다. 매처는 실제 값과 표현식의 결과를 비교합니다. 매처는 테스트 가독성을 크게 높여 줍니다. 마치 일반 문장처럼 왼쪽에서 오른쪽으로 읽을 수 있습니다. 예를 들어 앞의 단언문은 “계좌 잔고가 100과 같아야 한다.”라고 표현할 수 있습니다.

JUnit이 제공하는 핵심 햄크레스트 매처를 사용하려면 코드에 정적 임포트를 추가해야 합니다.

iloveyouboss_13/test/scratch/AssertTest.java

import static org.hamcrest.CoreMatchers.*;
import java.io.*;
import java.util.*;

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