테스트 대상이 환경이나, 외부 서버, 다른 클래스의 코드에 종속되고 영향을 받지 않도록 고립시킬 필요가 있다. ⇒ 테스트를 위한 대역을 사용

테스트 스텁

테스트를 위한 UserServiceImpl 고립

트랜잭션 코드를 독립시켰기 때문에 사용자 관리 로직을 담은 UserServiceImpl 은 PlatformTransactionManager 에 더이상 의존하지 않는다.

image.png

UserDao 객체

테스트 대상 메서드가 void 형인 경우

테스트 대상인 UserServiceImpl 과 그 협력 오브젝트인 UserDao 에게 어떤 요청을 했는지를 확인하는 작업이 필요하다.