테스트 코드를 작성할 때 System.out.println()
로 매번 출력해야하는 어려움을 줄이기 위해 assertThat()
을 종종 사용한다.
assertThat()
메소드를 사용하기 위해서는 AssertJ
라이브러리를 임포트해주어야 한다. JUnit
(자바를 위한 단위 테스트 라이브러리)에서도 비슷한 기능을 제공하지만 개인적으로 AssertJ
가 조금 더 접근하기 쉽고 높은 가독성을 지닌다 생각되어 AssertJ
위주로 포스팅을 진행하겠다.
AssertJ
는 자바 JUnit
의 테스트 코드에 사용되는 라이브러리이다. JUnit
에서 제공하는 메소드보다 좀 더 직관적이고 읽기 쉽다. 테스트에 자주 사용되는 메소드들을 풍부하게 제공한다.
import static.org.assertj.core.api.Assertions.*;
위 구문이 작성되면 AssertJ의 다양한 API를 클래스 이름 없이 사용 가능하다.
AssertJ의 모든 테스트 코드는 assertThat()
이 사용된다.
assertThat(타겟).메소드().메소드()
위 포맷으로 코드를 작성할 수 있다. (메소드 체이닝)
사용될 수 있는 메소드로는 isEqualTo(e)
, contains(e)
, doesNotContain(e)
, startsWith(e)
, endsWith(e)
, isNotEmpty()
, isPositive(n)
, isGreaterThan(n)
등이 있다.
대표적인 예시를 아래에 작성하고 마무리하겠다.
assertThat(result).isEqualTo(member1);