반응형
통합테스트?
- 통합 테스트는 테스트 스위트에서 중요한 역할을 함
- 단위 테스트 개수와 통합 테스트의 균형을 맞추는 것도 중요함
- 단위 테스트가 아닌 모든 테스트를 통합 테스트에 해당함
- 통합 테스트는 회귀 방지와 리팩터링 내성이 우수하고, 단위 테스트는 유지 보수성과 피드백 속도가 우수하다.
통합 테스트는 주요 흐름(happy path)과 단위 테스트가 다루지 못하는 예외 상황(edge case)을 다룬다.
- 비즈니스 시나리오당 하나 or 두 개가 있으면 시스템 전체의 정확도를 보장해 준다.
코드의 4가지 유형에서 도메인 모델 및 알고리즘은 단위 테스트에, 컨트롤러는 통합 테스트에 해당함
테스트 피라미드를 통해 다시 보는 테스트 수와 테스트 종류와의 관계
좋지 않은 테스트를 작성하는 것보다 차라리 테스트를 작성하지 않는 것이 좋다.
어떤 프로세스 외부 의존성을 직접 테스트해야 하는가?
외부 의존성을 테스트하는 방법은 직접 사용하거나 목으로 대체하는 방법이 있음
외부 의존성은 크게 두가지 범주로 나뉨
- 관리 의존성(전체를 제어할 수 있는)
- 애플리케이션을 통해서만 접근이 가능
- 해당 의존성과의 상호 작용은 외부 환경에서 볼 수 없음
- 대표적으로 DB가 있음
- 비관리 의존성(전체를 제어할 수 없는)
- 해당 의존성과의 상호작용은 외부에서 볼 수 있음
- SMTP 서버나 메시지 버스 등
관리 의존성은 실제 인스턴스를 사용하고, 비관리 의존성은 목으로 대체하자.
참조
- 단위테스트(블라디미르 크리코프)
반응형
'테스트코드 > 개요' 카테고리의 다른 글
10. 데이터베이스 테스트 (0) | 2024.03.25 |
---|---|
9. 목 처리에 대한 모범 사례 (0) | 2024.03.25 |
7. 가치 있는 단위 테스트를 위한 리팩토링 (0) | 2024.03.25 |
6. 단위 테스트 스타일 (0) | 2024.03.25 |
5. 목과 테스트의 취약성 (0) | 2024.03.25 |