[워밍업 클럽 백엔드 4기] Day 16 미션

 

Persistence Layer

특징:

  • Data Access의 역할

  • 비즈니스 가공 로직이 포함되면 안됨.

테스트 방법

  • 작성한 쿼리나 JPA 쿼리가 의도대로 동작하는지 테스트한다.

  • 데이터가 실제로 DB에 저장되고 조회되는지 테스트한다.

  • @ActiveProfiles를 사용해 테스트 전용 DB를 따로 두어 테스트한다.

  • @DataJpaTest 사용시 자동으로 롤백된다. (@Transactional)

 

Business Layer

특징:

  • 비즈니스 로직 구현

  • 트랜잭션 보장해줘야 함.

  • 동시성 고민

테스트 방법

  • @SpringBootTest 어노테이션을 이용해 실제 환경과 비슷한 환경에서 테스트 진행

  • 요구사항 추가에 따른 도메인 로직 및 Repository 추가 및 변경이 이뤄지는데 각 케이스마다 테스트 작성 필요하다.

  • 경계값이 주어져도 정상적으로 동작하는지 테스트

     

 

Presentation Layer

특징:

  • 외부 세계의 요청을 가장 먼저 받는다.

  • 파라미터에 대한 최소한의 검증을 수행한다.

테스트 방법

  • @WebMvcTest 어노테이션 이용

  • 나머지 의존성은 Mocking을 사용해 주입 후 테스트 진행

  • validation, 상태 코드, JSON 응답 구조를 확인한다.

     

 

 

강의 출처 :

Practical Testing: 실용적인 테스트 가이드

댓글을 작성해보세요.

채널톡 아이콘