출처: https://steady-coding.tistory.com/351
출처: https://bibi6666667.tistory.com/231
출처: https://sun-22.tistory.com/86
자바 테스트를 위해 좀 더 풍부한 문법을 제공하고 메서드 체이닝을 통해 직관적인 테스트 흐름을 작성할 수 있도록 개발된 오픈소스 라이브러리입니다.
@Test
public void split() {
String[] values = "1,2".split(",");
assertThat(values).containsExactly("1", "2");
values = "1".split(",");
assertThat(values).containsExactly("1");
}
JUnit5의 경우, assertEquals(expected, actual)과 같이 두 개의 인자를 받아서 비교를 하지만,
AssertJ는 메서드 체이닝을 통해 가독성을 높여주는 특징이 있습니다.
Junit의 assertEquals()는 왼쪽이 expected인지 actual인지 혼동될 여지가 있지만,
assertThat()은 actual 인자 하나만 요구하고 그 뒤로 메서드 체이닝을 하므로 actual과 expected를 명확하게 구분지어준다는 장점이 있다.