스프링 부트 애플리케이션에서 단일 서비스의 통합 테스트를 수행하고 싶습니다. 그래서 나는이 서비스 만 갖고 싶고 테스트 애플리케이션 컨텍스트에 추가 할 의존성을 가지고 있습니다.컨텍스트 config에 하나의 @Component 클래스를 지정하여 종속성을 자동으로 해결할 수 있습니까?
가정한다 I은 (는 A
B
에 대한 참조를 갖는다)과 다른 패키지 A
B
에서 두 클래스를 @Component
주석으로 표시. 응용 프로그램을 실행할 때 @SpringBootApplication
은 모든 빈을 찾고 내재적 인 @ComponentScan
으로 컨텍스트에 추가합니다.
내 테스트 구성에서 하나의 클래스 A
만 지정하고 Spring Boot를 사용하여 종속성 (B
)을 해결하고 컨텍스트에 추가하십시오.
스프링 부트 2 또는 가장 적합한 옵션으로 필요한 클래스를 명시 적으로 선언하여 별도의 @Configuration
을 만들 수 있습니까? 나는 단지 하나의 클래스 A
를 지정하고 봄 부팅이 종속성 (B
)의 해결하고 문맥에 추가하고 싶은 내 테스트 구성에서
문제는 의존성 삽입 지점이 'A'가 반드시 'B'의 구현이 무엇인지 알지 못하기 때문에 Spring이 '@ Component' beans를 일시적으로 가져올 방법이 없다는 것입니다. 저는 항상 별도의 테스트 @Configuration 클래스를 사용합니다 (그리고 생성자 주입을 사용하면 Spring의 필요성을 완전히 없앨 수 있습니다). – chrylis