[워밍업 클럽 백엔드 4기] Day 16 미션
1개월 전
Persistence Layer
특징:
Data Access의 역할
비즈니스 가공 로직이 포함되면 안됨.
테스트 방법
작성한 쿼리나 JPA 쿼리가 의도대로 동작하는지 테스트한다.
데이터가 실제로 DB에 저장되고 조회되는지 테스트한다.
@ActiveProfiles를 사용해 테스트 전용 DB를 따로 두어 테스트한다.
@DataJpaTest 사용시 자동으로 롤백된다. (@Transactional)
Business Layer
특징:
비즈니스 로직 구현
트랜잭션 보장해줘야 함.
동시성 고민
테스트 방법
@SpringBootTest 어노테이션을 이용해 실제 환경과 비슷한 환경에서 테스트 진행
요구사항 추가에 따른 도메인 로직 및 Repository 추가 및 변경이 이뤄지는데 각 케이스마다 테스트 작성 필요하다.
경계값이 주어져도 정상적으로 동작하는지 테스트
Presentation Layer
특징:
외부 세계의 요청을 가장 먼저 받는다.
파라미터에 대한 최소한의 검증을 수행한다.
테스트 방법
@WebMvcTest 어노테이션 이용
나머지 의존성은 Mocking을 사용해 주입 후 테스트 진행
validation, 상태 코드, JSON 응답 구조를 확인한다.
강의 출처 :
댓글을 작성해보세요.