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

마이티님의 프로필 이미지

작성한 질문수

스프링 DB 2편 - 데이터 접근 활용 기술

프로젝트 구조 설명3 - 테스트

인터페이스 테스트인데 왜 구현체가 나오는건가요?

작성

·

96

2

코드를 보면 초기화를 MemoryItemRepository로 하지 않고 ItemRepository로 초기화를 했는데 인터페이스는 구현체가 아니라서 함수가 정의가 안 되어있는데 어디서 구현체를 들고와서 테스트가 진행되는건가요..?

답변 1

2

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

직전 강의인 프로젝트 구조 설명2 - 설정를 보시면 MemoryConfig 스프링 설정 클래스에서

itemRepository의 스프링 수동 빈 등록을 적용하였고, 구현체로 MemoryItemRepository를 사용하였습니다.

테스트에서 @SpringBootTest 통합테스트를 실행하여 스프링 컨테이너를 띄워 구현체를 주입 받을 수 있었습니다.

image.png

 

감사합니다.

마이티님의 프로필 이미지
마이티
질문자

아 그렇군요

config에서 수동 빈 설정한게 있어서 그런거였네요
답변 감사합니다! 덕분에 이해했습니다