테스트 더블
테스트할 객체가 의존하는 요소들이 실제 동작하는 것처럼 보이도록 별도로 생성한 가짜 객체이다.
이렇게 테스트 더블을 생성하여 진행하는 테스트를 고립(Solitary) 테스트라 부른다. 해당 객체가 의존하는 다른 요소들은 테스트하지 않는 방식이다.
테스트 더블의 종류
- Dummy
- 아무런 기능이 없는 객체로 인터페이스만 필요할때 쓰인다.
- Fake
- 동작하지만, 실제와 다른 방식으로 구현된 객체이다.
- ex) DB 객체를 Hashmap으로 구현
- Stub
- 동작하는 것처럼 만든 더미로 미리 지정된 데이터를 돌려주는 객체이다.
- Spy
- Stub으로 기능하면서 부가적인 정보를 기록하는 객체이다.
- Mock
- 실제와 같은 구현으로 동작하는 객체이다.
- 테스트 관련 라이브러리를 통해 실제 객체를 동적으로 생성한다.