워밍업 클럽 4기 BE 클린코드&테스트 Day 16 미션

프레젠테이션 레이어

역할

사용자의 요청을 받아 처리하고, 응답을 반환하는 계층입니다.
Controller 클래스가 이 역할을 담당합니다.

테스트 방법

@WebMvcTest 어노테이션을 이용하여 테스트 대상 컨트롤러를 빈으로 등록하고
나머지 의존성은 @MockBean으로 대체합니다.
MockMvc를 이용해 가상의 HTTP 요청과 응답을 실행합니다.
ObjectMapper를 활용해 객체를 JSON으로 직렬화하거나 객체를 JSON으로 역직렬화 합니다.
mockMvc.peform(), .content() .andExpect() 등의 메서드를 통해 상태 코드 및 응답 바디 등을 검증합니다.

이 레이어에서는 컨트롤러가 요청을 잘 전달하고 응답을 잘 반환하는지 확인합니다.

 

비즈니스 레이어

역할

도메인 중심의 비즈니스 로직을 처리하며 Service 클래스가 이 역할을 담당합니다.

테스트 방법

@SpringBootTest 를 사용하여 테스트를 진행하고 필요한 의존성을 @Autowired로 주입합니다.

AssertJ의 assertThat(), .hasSize(), .containsExactlyInAnyOrder() 등의 메서드를 사용합니다.

@Transactional, @AfterEach 등을 통해 데이터 일관성을 유지하고 테스트 데이터를 정리합니다.

이 레이어에서는 의도한 로직이 제대로 동작하는지 검증합니다.

 

퍼시스턴스 레이어

역할

데이터 CRUD 역할을 하며 Repository 클래스가 이 역할을 담당합니다.

테스트 방법

@DataJpaTest를 사용하여 JPA 관련 컴포넌트를 빈으로 등록합니다.

엔티티를 저장하고 조회하며 쿼리 동작이 잘 되는지 확인합니다.

assertThat()을 이용해 저장한 데이터, 쿼리 결과를 검증합니다

이 레이어에서는 쿼리 결과, 엔티티 연관관계 매핑, CRUD 가 제대로 동작하는지 검증합니다.

댓글을 작성해보세요.

채널톡 아이콘