수동 DI를 이용하는 테스트

테스트용 협력자(Collaborator)/의존 오브젝트를 테스트 대상에 직접 주입하고 테스트

테스트용으로 테스트 대역들을 세팅해 주는 것 외에 나머지 기능들은 테스트 대상이 이미 개발된 코드 중에서 다른 오브젝트들과 많이 협력해서 일을 해야되는 경우 스프링 컨테이너를 함께 사용하는 방법으로 테스트를 만듦

스프링 DI를 이용하는 테스트

테스트용 협력자(Collaborator)/의존 오브젝트를 스프링의 구성 정보를 이용해서 지정하고 컨테이너로부터 테스트 대상을 가져와서 테스트

@ContextConfiguration, @Autowired 적용

일반적으로는 BeanFactory를 가지고 오는 것보다 내부에서 만들어진 오브젝트를 바로 가져오게 작성

참고

스프링 DI를 이용하는 테스트보다 수동 DI를 이용하는 테스트가 속도가 조금 더 빠를 수 있음

테스트 코드 내에서 Stub을 제어할 수도 있음