test double은 테스트에서 실제 의존성을 대신하는 객체입니다 — mock, stub, spy, fake, dummy를 포함합니다. 테스트 대상 코드를 그 의존성(데이터베이스, API, 서비스)으로부터 격리하여, 빠르고 집중되고 통제된 단위 테스트를 가능하게 합니다.
test double이 필요한 이유
unit을 격리(isolation) 상태로 테스트하려면, 그 실제 의존성(DB, API, 서비스)을
test double(가짜 대역)로 교체한다:
→ unit을 격리 (그것만 테스트, 의존성이 아님)
→ 빠름(실제 DB/네트워크 없음); 통제됨(오류를 포함한 정확한 시나리오 설정);
결정적(외부 불안정성 없음)
