226.9. XML DSL을 사용하여 기존 끝점 모달링

단위 테스트에 camel-test 구성 요소를 사용하지 않는 경우 (위와 같이) 경로에 XML 파일을 사용할 때 다른 방법을 사용할 수 있습니다.
해결 방법은 단위 테스트에서 사용하는 새 XML 파일을 만든 다음 테스트할 경로가 있는 의도한 XML 파일을 포함하는 것입니다.

camel-route.xml 파일에 경로가 있다고 가정합니다.

camel-route.xml 1

<!-- this camel route is in the camel-route.xml file -->
<camelContext xmlns="http://camel.apache.org/schema/spring">

    <route>
        <from uri="direct:start"/>
        <to uri="direct:foo"/>
        <to uri="log:foo"/>
        <to uri="mock:result"/>
    </route>

    <route>
        <from uri="direct:foo"/>
        <transform>
            <constant>Bye World</constant>
        </transform>
    </route>

</camelContext>

그런 다음 다음과 같이 새 XML 파일을 생성합니다. 여기서 우리는 camel-route.xml 파일을 포함하고 클래스 org.apache.camel.impl.InterceptSendToMockEndpointStrategy 를 사용하여 Spring 빈을 정의합니다.

test-camel-route.xml

<!-- the Camel route is defined in another XML file -->
 <import resource="camel-route.xml"/>

 <!-- bean which enables mocking all endpoints -->
 <bean id="mockAllEndpoints" class="org.apache.camel.component.mock.InterceptSendToMockEndpointStrategy"/>

그런 다음 단위 테스트에서 camel-route.xml 대신 새 XML 파일 (test-camel-route.xml)을 로드합니다.

모든 로그 엔드 포인트를 모으려면 빈 생성자에서 패턴을 정의할 수 있습니다.

<bean id="mockAllEndpoints" class="org.apache.camel.impl.InterceptSendToMockEndpointStrategy">
    <constructor-arg index="0" value="log*"/>
</bean>