• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

테스트 코드에서 @autowired 사용 질문입니다!

20.02.20 09:46 작성 조회수 307

2

강의 중 테스트 코드 작성시 Repository 와 같은 경우 autowired가 아닌 생상자 주입을 권장한다고 해주셨는데 혹시 그 이유를 알 수 있을까요?? 

힝상 좋은 강의 감사합니다!

답변 1

답변을 작성해보세요.

3

안녕하세요.

필드 주입(필드에 autowired를 사용)을 사용하면 테스트 시에 다른 객체로 변경하기가 매우 어렵습니다.

반면에 생성자 주입을 사용하면 테스트 시에 목 객체 등으로 변경하기가 쉽습니다^^

스프링도 생성자 주입을 권장하고 있습니다.

관련해서 더 자세한 궁금증은 생성자 주입 vs 필드 주입으로 구글 검색을 해보시면 정말 다양한 내용이 정리되어 있으니 참고해주세요 :) 

https://www.google.com/search?q=%EC%83%9D%EC%84%B1%EC%9E%90+%EC%A3%BC%EC%9E%85+vs+%ED%95%84%EB%93%9C+%EC%A3%BC%EC%9E%85&oq=%EC%83%9D%EC%84%B1%EC%9E%90+%EC%A3%BC%EC%9E%85+vs+%ED%95%84%EB%93%9C+%EC%A3%BC%EC%9E%85&aqs=chrome..69i57.4067j1j7&sourceid=chrome&ie=UTF-8