🖤인프런만의 100% 블프 이벤트🖤

🎁100% 환급+할인+당첨 가능한 인프런 블프 구경오세요!

[인프런 워밍업 클럽 2기 클린코드 & 테스트 코드] Day15 과제

[인프런 워밍업 클럽 2기 클린코드 & 테스트 코드] Day15 과제

해당 글은 [인프런 워밍업 클럽 2기 클린 코드 & 테스트 코드]에 참가하여 박우빈님<Readable Code: 읽기 좋은 코드를 작성하는 사고법> 강의를 듣고 작성한 글입니다.

 

Layered Architecture

소프트웨어 시스템을 관심사에 따라 여러 계층으로 분리한 것

 

Persistence Layer

특징

  • 데이터베이스와의 상호 작용을 관리하는 계층

     

테스트 방법

  • 단순히 쿼리가 제대로 작동하는 지 확인하는 테스트가 대부분이다.

  • CRUD 작업 테스트가 많다.

  • 필요한 객체들을 생성하고 쿼리를 실행, 비교함.

 

Business Layer

특징

  • 서비스의 핵심 로직이 있는 계층

     

테스트 방법

  • 여러 시나리오에 따라 다양하게 테스트를 진행한다.

  • 해피 케이스와 예외 케이스를 섬세하게 다뤄야 한다. (경계값 테스트로!)

  • 더미 객체를 생성할 때, 중복 예외가 발생할 수 있으므로 데이터 클렌징 작업을 해야한다.

 

Presentation Layer

특징

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

     

테스트 방법

  • 클라이언트로부터 넘겨 받은 값들에 대한 유효성 검증을 수행한다.

  • MockMVC를 이용하여 하위 레이어들을 처리한다.

댓글을 작성해보세요.

채널톡 아이콘