레거시 코드 일를 테스트하기 위해 Subclass and Override Method 방법 적용
Subclass and Override Method 방법
참고 링크: https://youtu.be/Dct4bGKCmI8
테스트하기 어려운 부분이 존재할 때 다루는 기법
1. 레거시 코드에서 테스트 대상을 방해하는 부분을 메소드로 분리한다.
- 레거시 코드의 의존성을 분리하기 위해 메소드 단위로 코드를 분리
2. 분리한 메소드를 protected 로 변경한다
3. 테스트하고자 하는 클래스를 상속받아 테스트용 클래스를 만들고, 분리한 메소드를 재정의 한다.
- Stubbing
- 실제 동작과는 다르게 테스트 코드를 쉽게 만들기 위한 작업