작성
·
190
1
안녕하세요! 강의 너무 잘 듣고 있습니다.
듣다가 잘 모르겠는 점이 있어서 질문을 드립니다.
기존 서비스 테스트코드에서는 @BeforeEach로 의존주입을 했는데,
통합테스트에서는 아래와 같이 @Autowired로 끌어온다고 하셨습니다.
테스트코드인데도 SpringConfig코드에서 아래의 서비스와 레포지토리 객체를 실제로 끌어오는 건가요?
답변 1
1
안녕하세요. hyewon981019님, 공식 서포터즈 OMG입니다.
네 맞습니다.
통합테스트는 실제 스프링을 띄워서 실행되기 때문에 실제 빈이 주입됩니다.
실제 빈 주입이 아닌 가짜객체로도 테스트가 가능합니다.
"Mockito"란 테스트 프레임워크(라이브러리)로 검색해보시면 가짜객체로도 검색해보시면 많은 자료가 나올꺼에요.
SpringConfig에서 @Bean으로 수동 등록한 Repository가 있다면 테스트에서 주입 받습니다.
본 강의에서는 MemoryMemberRepository, JDBCMemberRepository, JPARepository, SpringDataJPARepository를 이용하오니 참고하시길 바랍니다.
감사합니다.