Springboot로 프로젝트를 수행하면서, 테스트코드에 대한 필요성을 느끼지 못했고, 그로 인해 공부해야겠다는 생각으로 이어지지 못했다. 이번에 JPA를 제대로 공부하면서 그간의 부족했던 점을 인지하고, 개선하기 위해 단위 테스트를 도입하고자 공부하게되었다.
Junit이란?
- 자바를 위한 단위 테스트 오픈소스 라이브러리
- 자바 애플리케이션에 대한 단위 테스트를 쉽게해주는 테스트용 프레임워크
단위테스트 Unit Test란?
-모든 함수와 메소드에 대한 테스트 케이스를 작성하는 절차

AssertJ란
자바 Junit의 테스트코드에 사용되어, 테스트코드의 가독성과 편의성을 높여 주는 라이브러리
import static org.assertj.core.api.Assertions.*;
주요 특징
-메서드 체이닝 -> 직관성, 가독성 ↑
-테스트에 필요한 풍부한 메소드 제공
예시
@Test
public void testSample() throws Exception{
Assertions.assertThat("The Lord of the Rings").isNotNull()
.startsWith("The")
.contains("Lord")
.endsWith("Rings");
}
코드에서 볼 수 있듯이, 메소드 체이닝을 통해 직관적이고 가독성이 높다!
▶ isNotEqualTo(Object o): equals()로 실제값이 기대값과 내용이 다른지 검증
▶ isInstanceOf(Class<?> type): 실제값이 기대값 타입의 인스턴스인지 검증
▶ isNotInstanceOf(Class<?> type): 실제값이 기대값 타입의 인스턴스가 아닌지 검증
▶ isSameAs(Object o): ==으로 실제 값이 기대값과 주소값(참조값)이 같은지 검증
▶ isNotSameAs(Object o): ==으로 실제 값이 기대값과 주소값(참조값)이 같은지 검증
그 외 기타 등등..
잘보고갑니다