<aside> 💡
Spring Boot 애플리케이션을 테스트하기 위한 기능을 제공하는 기술
</aside>
✨애플리케이션을 개발하다 보면 다음과 같은 것을 확인해야 합니다.
상품이 정상적으로 저장되는가?
상품을 정상적으로 조회할 수 있는가?
주문이 정상적으로 생성되는가?
주문상품이 주문과 연결되는가?
Controller의 API가 정상적으로 응답하는가?
Repository가 DB와 정상적으로 동작하는가?
이러한 기능을 자동으로 검증하는 코드를 작성하는 것이 테스트입니다.
테스트를 하지 않으면 기능을 수정할 때 기존 기능이 정상적으로 동작하는지 직접 확인해야 합니다.
코드 수정
↓
서버 실행
↓
브라우저 / Postman 실행
↓
직접 API 호출
↓
결과 확인
테스트를 작성하면:
코드 수정
↓
테스트 실행
↓
성공 / 실패 확인
따라서 테스트를 작성해두면 코드 변경에 따른 오류를 빠르게 발견할 수 있습니다.
<aside> 💡
Spring Boot에서는 일반적으로 다음 의존성을 사용합니다.
</aside>
dependencies {
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
spring-boot-starter-test에는 테스트에 필요한 여러 라이브러리가 포함되어 있습니다.
spring-boot-starter-test
│
├── JUnit 5
├── Spring Test
├── Spring Boot Test
├── Mockito
├── AssertJ
└── Hamcrest