단위테스트 VS 통합테스트
단위테스트 VS 통합테스트
단위 테스트는 소프트웨어으 가장 작은 단위, 즉 개별 메서드나 함수의 기능을 검증하는 테스트다. 특정 기능이 올바르게 동작하는지 확인하기 위함이며 독립적이고 빠르게 실행된다. 반면 통합 테스트는 개별 모듈들이 결합되어 전체 시스템이 올바르게 동작하는지 검증하는 테스트다. 모듈 간의 상호작용이 올바르게 동작하는지 확인하기 위함이며 실제 데이터베이스, 네트워크 등의 외부 시스템과의 통합을 테스트한다.
슬라이스 테스트란?
슬라이스 테스트는 특정 레이어 (ex. controller, service, repository)에 대한 테스트다. 애플리케이션의 특정 슬라이스가 올바르게 동작하는지 확인하기 위해 작성된다. 스프링의 특정 컴포넌트만 로드하여 테스트하므로 상대적으로 빠르게 실행된다. 관련된 어노테이션으로는 @WebMvcTest
, DataJpaTest
등이 있다.
테스트코드를 작성해야 하는 이유
테스트 코드를 작성하면 버그를 초기에 발견할 수 있으며 리팩터링을 수행할 경우 유용하다. 또한 개발 속도를 향상시킬 수 있으며, 코드에 대한 문서로서 역할을 수행할 수 있다.
References
This post is licensed under
CC BY 4.0
by the author.