>

Spring Boot Application에서 Camel route를 테스트해야합니다. 필요한 모든 Bean이 선언 된 Spring 부트 기본 클래스가 있습니다. CamelSpringJUnit4ClassRunner.class를 사용하고 있습니다. 모든 구성이 포함되어 있으므로 @ContextConfiguration에 Spring 부트 기본 클래스를 추가했습니다. 별도의 구성 클래스가 없습니다.

테스트 클래스에서 CamelContext를 자동 연결했습니다 :

@Autowired
CamelContext camelContext;

하지만 오류와 함께 테스트가 실패합니다 :

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException:

No qualifying bean of type 'org.apache.camel.CamelContext' available: expected at least 1 bean which qualifies as autowire candidate.

Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

  • 답변 # 1

    와이즈 비즈 사용하기  러너로서 CamelSpringBootRunner.class 를 추가하십시오  테스트 클래스에 주석.

    Camel 저장소의 예

    업데이트 (댓글을 기반으로)

    부트 래퍼 클래스를 @SpringBootTest 로 변경 한 경우  그러면 작동합니다 :

    SpringBootTestContextBootstrapper
    
    

    <시간>

    동일한 구성이지만이 경우 @BootstrapWith(SpringBootTestContextBootstrapper.class) 를 추가 할 필요가 없습니다.  그리고 ContextConfiguration  주석 :

    BootstrapWith
    
    

  • 답변 # 2

    @EnableAutoConfiguration 만 활성화하면 작동합니다

    @RunWith(CamelSpringBootRunner.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @MockEndpoints("log:*") @DisableJmx(false) @SpringBootTest(classes = MyClass.class)

  • 이전 visual studio 2017 hresult - 프로젝트 생성시 0x80070005/e_accessdenied
  • 다음 subdomain - 이 사이트에 접속할 수 없습니다 웹 사이트의 서버 IP 주소를 찾을 수 없습니다