인프런 커뮤니티 질문&답변

hyewon981019님의 프로필 이미지
hyewon981019

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

스프링 통합 테스트

통합테스트에서 @Autowired

작성

·

194

1

안녕하세요! 강의 너무 잘 듣고 있습니다.

듣다가 잘 모르겠는 점이 있어서 질문을 드립니다.

기존 서비스 테스트코드에서는 @BeforeEach로 의존주입을 했는데,

통합테스트에서는 아래와 같이 @Autowired로 끌어온다고 하셨습니다.

테스트코드인데도 SpringConfig코드에서 아래의 서비스와 레포지토리 객체를 실제로 끌어오는 건가요?

 

답변 1

1

안녕하세요. hyewon981019님, 공식 서포터즈 OMG입니다.

네 맞습니다.

통합테스트는 실제 스프링을 띄워서 실행되기 때문에 실제 빈이 주입됩니다.

실제 빈 주입이 아닌 가짜객체로도 테스트가 가능합니다.

"Mockito"란 테스트 프레임워크(라이브러리)로 검색해보시면 가짜객체로도 검색해보시면 많은 자료가 나올꺼에요.

SpringConfig에서 @Bean으로 수동 등록한 Repository가 있다면 테스트에서 주입 받습니다.

본 강의에서는 MemoryMemberRepository, JDBCMemberRepository, JPARepository, SpringDataJPARepository를 이용하오니 참고하시길 바랍니다.  



감사합니다.

hyewon981019님의 프로필 이미지
hyewon981019

작성한 질문수

질문하기