테스트코드 순서 질문
189
작성한 질문수 13
강의를 듣다 궁금한게 생겼습니다.
보통 API 개발을 할 때, 컨트롤러단 부터 완성이 되고 나머지 서비스나 영속성 계층 로직이 완성 되는것 같은데 테스트 코드 순서를 어떻게 가져가시나요 ?
강의에서는 영속성 -> 서비스 -> 컨트롤러 순으로 테스트가 진행 되는데 이 순서대로 하시나요 ?
답변 2
0
안녕하세요, Doobie 님!
테스트 코드의 작성 순서를 정해놓고 개발하지는 않아요 ㅎㅎ
강의의 테스트 순서는 커리큘럼 구성 상 가장 안쪽 레이어부터 소개드린 것이고요.
실제로는 개발하는 과정에서 개발 완료되는 순서, 테스트가 필요한 순서를 고려하여 테스트하고 있습니다.
도움이 되셨기를 바랍니다.
감사합니다 🙂
0
안녕하세요, 인프런 AI 인턴입니다.
Doobie님, 질문해주셔서 감사합니다.
보통 테스트 코드 작성 순서는 상황에 따라 다를 수 있지만, 일반적으로는 테스트 피라미드 전략을 따릅니다. 강의에서 언급한 영속성 -> 서비스 -> 컨트롤러 순서는 이러한 전략과 일치하는 경우가 많습니다. 이는 각각의 단계를 독립적으로 검증함으로써 빠른 피드백을 제공하고, 문제 발생 시 원인을 쉽게 추적할 수 있도록 합니다.
영속성 테스트는 데이터베이스와의 상호작용을 테스트합니다. 데이터 접근 객체(DAO)가 정확하게 동작하는지 확인합니다.
서비스 테스트는 비즈니스 로직을 테스트합니다. 이 단계에서는 서드파티 서비스나 데이터베이스에 직접 의존하지 않도록 모킹(Mocking) 기법을 많이 사용합니다.
컨트롤러 테스트는 외부에서 들어오는 요청과 응답을 테스트합니다. 이 테스트를 통해 API의 엔드포인트가 올바르게 작동하는지 확인합니다.
이 순서를 따를 경우, 하위 계층에 문제가 생기면 조기에 발견하고 수정할 수 있습니다. 하지만 프로젝트의 구조나 특성에 따라 순서를 조정할 수도 있습니다. 자신에게 맞는 방식으로 테스트를 진행하시되, 각 계층의 독립성과 모듈성을 유지하는 것이 중요합니다.
보다 자세한 정보는 Spring Boot Reference Documentation을 참고하시면 도움이 될 것입니다.
private 상수 테스트 관련 질문
0
87
1
void는 어떻게 테스트하나요..? void로 애초에 코딩하면 안되나요??
0
128
2
커버리지는 어떻게 활용하시는지 궁금합니다.
0
163
2
테스트 문서화 질문입니다
0
107
2
단위테스트 질문이 있습니다
0
96
2
컨트롤러는 모킹을 한 이유가 궁금합니다.
0
106
2
ERD 가장자리에 있는 도메인 테스트 질문
0
90
2
DTO 검증 필드에 대한 테스트 코드 작성은 어디까지?
0
136
2
OrderCreateRequest DTO에 대해서 궁금한점
0
104
2
고전파의 테스트 대역 사용 대상, 공유 의존성
0
157
2
계층 관련 질문이 있습니다.
0
140
3
'코틀린'에서는 빌더를 따로 쓰지 않는데, 이 때는 어떻게 test fixture를 만드시는지 궁금합니다
1
124
2
혹시 update 로직은 어떻게 테스트하나요? (@Setter?)
0
135
2
단위테스트와 통합테스트의 경계가 궁금합니다.
0
235
2
Service+Repository 통합테스트 관련 질문입니다.
0
151
2
OrderControllerDocsTest 작성 해봤는데요. 날짜 형식이 이상하게 나와요
0
186
2
test 용 .yml
0
91
2
throws Exception
0
81
2
카페키오스크 클래스 문의 ,,
0
90
2
Rest docs 문서용 테스트코드를 따로 작성해야 되나요?
0
176
2
테스트 코드에서 필요한 생성자
0
139
1
tearDown 순서
0
116
2
@Builder 생성자 private
0
137
2
@DisplayName gradle / intellJ
0
94
2





