[워밍업 클럽 4기] Day 16 미션 - Layer 별 특징과 테스트 방법
1개월 전
Layer 별 특징과 테스트 방법
관심사의 분리에 따라 Layer를 나눌 수 있고 아래와 같이 나뉜다.
Persistence Layer
Data Access의 역할을 하는 레이어(데이터 CRUD에만 집중)
비즈니스 의사결정 로직은 포함되지 않아야 함
@Transactional 애노테이션이 포함되어있는 @DataJpaTest를 통해 비교적 가볍게 테스트 가능
Business Layer
Persistence Layer와 상호작용을 하며 비즈니스 로직을 전개시킴
Transaction 경계에 대해 인지하고 실제 코드에서 적용하며 테스트에서는 @SpringBootTest로 진행 가능
Presentation Layer
외부 세계의 요청을 가장 먼저 받는 계층으로 파라미터에 대한 검증을 수행해야 함
사용하는 service, repository 관련 레이어들은 mock으로 처리하며 @WebMvcTest를 통해 진행
파라미터 검증은 주로 @Valid, @RequestParam, @PathVariable 등으로 처리됨
댓글을 작성해보세요.