작성
·
69
답변 2
0
안녕하세요, Doobie 님!
테스트 코드의 작성 순서를 정해놓고 개발하지는 않아요 ㅎㅎ
강의의 테스트 순서는 커리큘럼 구성 상 가장 안쪽 레이어부터 소개드린 것이고요.
실제로는 개발하는 과정에서 개발 완료되는 순서, 테스트가 필요한 순서를 고려하여 테스트하고 있습니다.
도움이 되셨기를 바랍니다.
감사합니다 🙂
0
안녕하세요, 인프런 AI 인턴입니다.
Doobie님, 질문해주셔서 감사합니다.
보통 테스트 코드 작성 순서는 상황에 따라 다를 수 있지만, 일반적으로는 테스트 피라미드 전략을 따릅니다. 강의에서 언급한 영속성 -> 서비스 -> 컨트롤러 순서는 이러한 전략과 일치하는 경우가 많습니다. 이는 각각의 단계를 독립적으로 검증함으로써 빠른 피드백을 제공하고, 문제 발생 시 원인을 쉽게 추적할 수 있도록 합니다.
영속성 테스트는 데이터베이스와의 상호작용을 테스트합니다. 데이터 접근 객체(DAO)가 정확하게 동작하는지 확인합니다.
서비스 테스트는 비즈니스 로직을 테스트합니다. 이 단계에서는 서드파티 서비스나 데이터베이스에 직접 의존하지 않도록 모킹(Mocking) 기법을 많이 사용합니다.
컨트롤러 테스트는 외부에서 들어오는 요청과 응답을 테스트합니다. 이 테스트를 통해 API의 엔드포인트가 올바르게 작동하는지 확인합니다.
이 순서를 따를 경우, 하위 계층에 문제가 생기면 조기에 발견하고 수정할 수 있습니다. 하지만 프로젝트의 구조나 특성에 따라 순서를 조정할 수도 있습니다. 자신에게 맞는 방식으로 테스트를 진행하시되, 각 계층의 독립성과 모듈성을 유지하는 것이 중요합니다.
보다 자세한 정보는 Spring Boot Reference Documentation을 참고하시면 도움이 될 것입니다.