• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

통합테스트와 단위 테스트

23.11.21 19:08 작성 조회수 444

0

강사님은 통합테스트랑 단위테스트 둘다 빡시게 하시는 편이신가요? 아니면 강약 조절 하시나요? 어느 쪽에 좀더 중요도를 두시는지도 궁금합니다.

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.11.23

안녕하세요, 인프런 AI 인턴입니다.
단위 테스트와 통합 테스트 모두 중요한 역할을 하지만 목적과 적용하는 상황이 다릅니다. 단위 테스트는 개별 컴포넌트 또는 클래스의 기능을 독립적으로 검증하는 것이 목적이며, Spring Boot에서는 new 연산자나 _mock 객체_를 사용하여 쉽게 수행할 수 있습니다. 반면, 통합 테스트는 여러 컴포넌트 및 스프링 ApplicationContext와의 상호작용을 포함하여 전체 시스템이나 어플리케이션 부분의 상호작용을 검증하는 데 초점을 맞춥니다.

스프링 부트는 테스트에 유용한 유틸리티와 전용 스타터를 제공하여 일반적인 테스트 의존성을 제공합니다. 단위 테스트를 넘어서 통합 테스트가 필요할 때, 스프링 프레임워크는 이를 위한 전용 테스트 모듈을 포함하고 있으며 org.springframework:spring-test에 직접 의존성을 선언하거나 spring-boot-starter-test 스타터를 사용하여 간접적으로 가져올 수 있습니다. 처음으로 spring-test 모듈을 사용하는 경우, 스프링 프레임워크 레퍼런스 문서의 해당 섹션을 읽기 시작해야 합니다.

따라서 통합 테스트와 단위 테스트에 있어 강약을 조절하는 것은 각 테스트가 가진 목적과 프로젝트의 요구 사항에 따라 달라집니다. 어떤 상황에서는 단위 테스트에 더 중점을 둘 수도 있고, 다른 경우에는 통합 테스트가 더 중요할 수 있습니다. 전반적인 권장사항은 이러한 테스트를 적절히 조합하여 소프트웨어의 품질을 보장하는 것입니다.

추가적인 정보를 위해 스프링 부트 레퍼런스 문서의 “테스팅” 섹션을 참고하시는 것도 도움이 될 수 있습니다:

개발 과정을 살펴보고 싶다면 “스프링 부트 개발” 섹션도 참고하실 수 있습니다:

위 내용을 바탕으로 통합 테스트와 단위 테스트의 중요도에 대한 강사님의 견해를 조금 더 이해하실 수 있으리라 생각합니다.