Web Programming

[JUnit] assertThat(AssertJ), assertEquals(JUnit) 비교

효딩 2025. 1. 10. 15:51

JUnit

자바용 유닛 테스트 프레임워크

구현한 기능에 대한 단위 테스트가 가능하며, 클래스 레벨 단위로도 테스트가 가능하다.

 

사실 이 글을 쓰게 된 건

assertThat과 isEqaulTo를 쓰는 것과

assertEquals를 쓰는 게 뭐가 다른지 궁금해서 찾아본 것을 정리하기 위함이다.

아주 기본적인 거겠지만,

이번 기회에 잘 정리해서 단위 테스트를 작성해보고자 한다.

 

assertThat(AssertJ)와 assertEquals(JUnit)

차이점 요약은 다음과 같다.

특징 assertThat assertEquals
라이브러리 AssertJ (의존성 추가 필요) JUnit
오류 메시지 상세하고 직관적 간단함
단언 메서드 다양성 매우 풍부 제한적
확장성 객체 상태 확인 등 확장성 우수 단순 비교에 적합

 

정리해보자면,

assertEquals를 쓰면 JUnit 기본 제공 라이브러리를 사용하고, 의존성 추가 없이

상대적으로 단순한 메서드 호출만으로 작성할 수 있어 간편하지만,

 

복잡한 상태 확인이 어렵고 가독성/오류 메시지가 좋지 않아

AssertJ 라이브러리의 assertThat을 사용하는 경우가 많다.

 

정도로 이해하면 될 것 같다.

 

이유를 알고, 기술을 이해하고, 코드를 작성하자!