레이어드 아키텍처(Layered Architecture) 와 테스트
·
TDD
A라는 모듈과 b 라는 모듈이 있다. 결과를 어떻게 예측할까? 단위 테스트로는 커버하기 어려운 부분이 생기게 된다.그래서 통합 테스트가 필요하다.  통합 테스트여러 모듈이 협력하는 기능을 통합적으로 검증하는 테스트일반적으로 작은 범위 단위 테스트만으로는 기능 전체의 신롸성을 보장할 수 없다.풍부한 단위 테스트 & 큰 기능 단위를 검증하는 통합 테스트 레이어드 아키텍처Spring MVC 기반에서 가장 많이 사용되는 아키텍처사용자의 요청이 왔을 때 각 레이어별로 접근한다. 관심사를 분리해서 책임을 나누고 유지보수하기 용이하게 만든다. Persistence LayerData Access 의 역할비즈니스 가공 로직이 포함되어서는 안된다. Data에 대한 CRUD에만 집중한 레이어단위 테스트에 가깝다.  Busi..
단위테스트(Unit test)
·
TDD
작은 코드 단위로 독립적으로 검증하는 테스트 (클래스 or 메서드)검증 속도가 빠르고, 안정적이다. 예시로 음료 여러 잔을 한번에 담는 기능을 단위테스트 해보자기능을 구현 할 때는 아직 드러나지 않은 요구 사항이 있는가 항상 고민해야한다 테스트 케이스 세분화하기1. 해피케이스 : 성공하는 케이스  cafeKiosk.add(americano,2); //해피케이스 assertThat(cafeKiosk.getBeverages().get(0)).isEqualTo(americano); assertThat(cafeKiosk.getBeverages().get(1)).isEqualTo(americano); 2. 예외케이스 : 실패하는 케이스 //예외 케이스assertThatThrownBy(()-> cafeK..