[워밍업 클럽 4기] Day 16 미션 - Layer 별 특징과 테스트 방법

Layer 별 특징과 테스트 방법

  • 관심사의 분리에 따라 Layer를 나눌 수 있고 아래와 같이 나뉜다.


    • image

  • Persistence Layer

     

    • Data Access의 역할을 하는 레이어(데이터 CRUD에만 집중)

    • 비즈니스 의사결정 로직은 포함되지 않아야 함

    • @Transactional 애노테이션이 포함되어있는 @DataJpaTest를 통해 비교적 가볍게 테스트 가능

  • Business Layer

    • Persistence Layer와 상호작용을 하며 비즈니스 로직을 전개시킴

    • Transaction 경계에 대해 인지하고 실제 코드에서 적용하며 테스트에서는 @SpringBootTest로 진행 가능

  • Presentation Layer

    • 외부 세계의 요청을 가장 먼저 받는 계층으로 파라미터에 대한 검증을 수행해야 함

    • 사용하는 service, repository 관련 레이어들은 mock으로 처리하며 @WebMvcTest를 통해 진행

    • 파라미터 검증은 주로 @Valid, @RequestParam, @PathVariable 등으로 처리됨

댓글을 작성해보세요.

채널톡 아이콘