[인프런 워밍업 클럽 2기 클린코드 & 테스트 코드] Day15 과제
1개월 전
해당 글은 [인프런 워밍업 클럽 2기 클린 코드 & 테스트 코드]에 참가하여 박우빈님의 <Readable Code: 읽기 좋은 코드를 작성하는 사고법> 강의를 듣고 작성한 글입니다.
Layered Architecture
소프트웨어 시스템을 관심사에 따라 여러 계층으로 분리한 것
Persistence Layer
특징
데이터베이스와의 상호 작용을 관리하는 계층
테스트 방법
단순히 쿼리가 제대로 작동하는 지 확인하는 테스트가 대부분이다.
CRUD 작업 테스트가 많다.
필요한 객체들을 생성하고 쿼리를 실행, 비교함.
Business Layer
특징
서비스의 핵심 로직이 있는 계층
테스트 방법
여러 시나리오에 따라 다양하게 테스트를 진행한다.
해피 케이스와 예외 케이스를 섬세하게 다뤄야 한다. (경계값 테스트로!)
더미 객체를 생성할 때, 중복 예외가 발생할 수 있으므로 데이터 클렌징 작업을 해야한다.
Presentation Layer
특징
외부 세계의 요청을 가장 먼저 받는 계층
테스트 방법
클라이언트로부터 넘겨 받은 값들에 대한 유효성 검증을 수행한다.
MockMVC를 이용하여 하위 레이어들을 처리한다.
댓글을 작성해보세요.