- A라는 모듈과 b 라는 모듈이 있다. 결과를 어떻게 예측할까?
- 단위 테스트로는 커버하기 어려운 부분이 생기게 된다.
- 그래서 통합 테스트가 필요하다.
통합 테스트
- 여러 모듈이 협력하는 기능을 통합적으로 검증하는 테스트
- 일반적으로 작은 범위 단위 테스트만으로는 기능 전체의 신롸성을 보장할 수 없다.
- 풍부한 단위 테스트 & 큰 기능 단위를 검증하는 통합 테스트
레이어드 아키텍처
Spring MVC 기반에서 가장 많이 사용되는 아키텍처
사용자의 요청이 왔을 때 각 레이어별로 접근한다.
관심사를 분리해서 책임을 나누고 유지보수하기 용이하게 만든다.
Persistence Layer
- Data Access 의 역할
- 비즈니스 가공 로직이 포함되어서는 안된다. Data에 대한 CRUD에만 집중한 레이어
- 단위 테스트에 가깝다.
Business Layer
- 비즈니스 로직을 구현하는 역할
- Persistence Layer와 상호작용(Data를 읽고쓰는 행위)를 통해 비즈니스 로직을 전개시킨다.
- 트랜잭션을 보장해야한다.
- 통합테스트에 가깝다.
참고 및 출처 : https://www.inflearn.com/course/practical-testing-실용적인-테스트-가이드/dashboard
'TDD' 카테고리의 다른 글
응답 예외처리와 책임 분리 (0) | 2024.11.25 |
---|---|
Presentation Layer의 테스트 (0) | 2024.11.24 |
테스트는 [문서]다 (1) | 2024.11.15 |
TDD가 정확히 무엇일까? (0) | 2024.11.11 |
단위테스트(Unit test) (1) | 2024.11.10 |