워밍업 클럽 4기 백엔드 - Layered Architecture
6개월 전
💻 Presentation Layer
1. 특징
요청 수신과 응답 반환을 담당하는 계층.
입력값의 유효성 검증을 책임지는 위치.
2. 테스트 방법
컨트롤러만 로드하는 @WebMvcTest 활용.
서비스 계층은 @MockBean으로 대체한 의존성 주입.MockMvc를 사용한 API 호출 시뮬레이션과 응답 구조 검증.
DTO에 적용된 validation 로직에 대한 테스트 포함.
⚙ Business Layer
1. 특징
도메인 중심의 핵심 로직을 포함하는 계층.
트랜잭션 처리와 비즈니스 흐름 제어를 담당하는 위치.
2. 테스트 방법
의존성을 모킹하여 단위 테스트로 분리한 로직 검증.@SpringBootTest를 통한 흐름 전체 테스트.
트랜잭션 경계 설정을 위한 @Transactional 적용.
예외 처리 및 동시성 상황에 대한 케이스 분리.
🛢 Persistence Layer
1. 특징
데이터 저장소와 직접 통신하는 계층.
Spring Data JPA 기반의 쿼리 메서드 정의와 실행 위치.
2. 테스트 방법@DataJpaTest를 활용한 Repository 단위 테스트.
H2 같은 인메모리 데이터베이스 기반의 독립 환경 구성.
직접 작성한 쿼리에 대한 기능별 테스트 작성.
댓글을 작성해보세요.