<aside> 💡 2장에서 다루는 내용

</aside>

2.1 ‘단위 테스트’의 정의

단위 테스트에는 많은 정의가 있는데 쉽게 다음과 같이 세 가지 속성이 있다.

<aside> 💡 단위 테스트의 고전파와 런던파

✔️ 고전적 접근법은 ‘디트로이트(Detroit)’라고도 하며 단위 테스트에 대한 고전주의적 접근법

✔️ 런던 스타일은 때때로 ‘목 추종자(mockist)’로 표현

</aside>

2.1.1 격리 문제에 대한 런던파의 접근

그림 2.1 테스트 대상 시스템의 의존성을 테스트 대역으로 대체하면, 테스트 대상 시스템만 검증하는데 집중할 수 있을 뿐만 아니라 규모가 큰 상호 연결 객체 그래프를 분할할 수 있다.

그림 2.1 테스트 대상 시스템의 의존성을 테스트 대역으로 대체하면, 테스트 대상 시스템만 검증하는데 집중할 수 있을 뿐만 아니라 규모가 큰 상호 연결 객체 그래프를 분할할 수 있다.

그림 2.2 테스트 대상 클래스를 의존성에서 분리하면 단순한 테스트 스위트 구조(제품 코드의 각 클래스에 대해 테스트 클래스가 하나씩 있는 구조)를 확립하는 데 도움이 된다.

그림 2.2 테스트 대상 클래스를 의존성에서 분리하면 단순한 테스트 스위트 구조(제품 코드의 각 클래스에 대해 테스트 클래스가 하나씩 있는 구조)를 확립하는 데 도움이 된다.

Unit-Test-Study/sample-code/src at main · byeongsoon/Unit-Test-Study

<aside> 💡 테스트 대상 시스템(SUT, System Under Test) 테스트 대상 메서드(MUT, Method Under Test) : 테스트에서 호출한 SUT의 메서드 MUT와 SUT는 흔히 동의어로 사용하지만, 일반적으로는 MUT는 메서드를 가리키는 데 반해 SUT는 클래스 전체를 가리킨다.

</aside>