본문으로 건너뛰기
목록으로

단위 테스트와 통합 테스트

단위 테스트​

소프트웨어의 가장 작은 단위, 즉 개별 메서드나 함수의 기능을 검증하는 테스트입니다. 특정 기능이 올바르게 동작하는지 확인하기 위함이며 독립적이고 빠르게 실행됩니다.

통합 테스트​

개별 모듈들이 결합되어 전체 시스템이 올바르게 동작하는지 검증하는 테스트입니다. 모듈 간의 상호작용이 올바르게 동작하는지 확인하기 위함이며 실제 데이터베이스, 네트워크 등의 외부 시스템과의 통합을 테스트합니다.

✔️ 슬라이스 테스트는 뭘까? 🤔​

슬라이스 테스트는 특정 레이어(ex. controller, service, repository)에 대한 테스트입니다.애플리케이션의 특정 슬라이스가 올바르게 동작하는지 확인하기 위해 작성됩니다. 스프링의 특정 컴포넌트만 로드하여 테스트하므로 상대적으로 빠르게 실행됩니다. 관련된 어노테이션으로는 @WebMvcTest, @DataJpaTest 등이 있습니다.

✔️ 테스트 코드를 작성해야하는 이유는? 🤓​

테스트 코드를 작성하면 버그를 조기에 발견할 수 있으며 리팩터링을 수행할 경우 유용합니다. 또한, 개발 속도를 향상 시킬 수 있으며 코드에 대한 문서로서 역할을 수행할 수 있습니다.