[워밍업 클럽 4기 백엔드] Day 16 미션
3개월 전
프레젠테이션 레이어
특징
외부로 값을 변환해 반환한다. 클라이언트의 변화에 민감하다. 예외를 처리해 유효한 값으로 반환하는 역할을 한다.
테스트 방법
MockMvc 등 외부로 요청을 할 수 있는 라이브러리를 사용한다!
given when then을 사용할 수 있는 RestAssured도 개인적으로 선호한다.
반환된 값은 문자열인데, json path 쿼리를 통해 검증한다.
SpringbootTest를 활용한다.
비즈니스 레이어
특징
도메인 로직이 할당되는 레이어다. 각 엔티티들의 상호작용으로 값을 반환한다.
테스트 방법
SpringbootTest를 사용한다
테스트할 클래스를 주입받는다.
레포지터리를 주입받아 given절에서 데이터를 insert한다.
when절에서 해당 클래스의 테스트하고싶은 메소드를 호출한다.
then절에서 결과값을 Assertj등을 활용해 검증한다.
퍼시스턴스 레이어
특징
데이터를 저장소에 저장하고 쿼리하는 역할을 담당한다.
RDB기반으로 동작하는 JPA뿐만 아니라 다른 저장소와도 연계될 수 있다.
테스트 방법
DataJpaTest는 JPA 관련 빈만 초기화하므로 SpringbootTest를 사용한다.
각 쿼리 메소드들이 정상적으로 원하는 결과를 반환하는지 확인하는 목적으로 작성한다.
given절에서 검증에 필요한 데이터를 insert하고 when절에서 해당 쿼리를 발생시키는 메소드를 호출한다.
반환값을 then절에서 테스트 프레임워크를 통해 검증한다
댓글을 작성해보세요.