Ошибка утверждения Верблюжий тест

#java #testing #mocking #apache-camel

Вопрос:

Я новичок в тестировании верблюжьих маршрутов, и у меня есть некоторые проблемы. У меня есть следующий код, в котором я определяю маршрут

 from("jms:preview")
    .to("jms:preview-request")
 

Я хочу протестировать этот маршрут, поэтому я попробовал использовать следующий тестовый код

 public class RouteTest extends CamelTestSupport  {

    protected RouteBuilder createRoutesBuilder() throws Exception {
        return new MyRouteBuilder();
    }

    @Test
    public void testRoute() throws Exception{
      
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost:61616");
        context.addComponent("jms",JmsComponent.jmsComponent(connectionFactory));
        MockEndpoint mock = getMockEndpoint("mock:jms:preview");
        mock.expectedBodiesReceived("request");
        template.sendBodyAndHeader("jms:preview-request,"request","request_type","rss");
        assertMockEndpointsSatisfied();
    }
 

Я получил следующую ошибку
Received message count. Expected: <1> but was: <0> .
Я уже читал другие примеры, но не понимаю, где я ошибаюсь.
Кто-нибудь может мне помочь?

Ответ №1:

Похоже, что вы отправляете его не на ту конечную точку, если у вас есть

 from("jms:preview")
 

в вашем маршруте, то вы, вероятно, должны иметь это, как

 template.sendBodyAndHeader("jms:preview,"request","request_type","rss");