2015-01-06 5 views
0

Я пытаюсь проверить маршруты своих верблюдов. Мне нужно предотвратить запуск конечных точек, в частности XMPP, поскольку он содержит конкретную информацию хоста в своем URI. К сожалению, я не понимаю, как это сделать.Mocking Конечные точки XMPP

Мой тестовый класс следующим образом:

@RunWith(CamelSpringJUnit4ClassRunner.class) 
@ContextConfiguration(
     classes = { 
       ApplicationConfig.class 
     }, 
     loader = CamelSpringDelegatingTestContextLoader.class) 
@UseAdviceWith 
@MockEndpointsAndSkip 
public class XMPPRouteBuilderTest { 

    @Autowired 
    ApplicationContext applicationContext; 

    @Autowired 
    CamelContext camelContext; 

    @Test 
    public void testConfigure() throws Exception { 
     camelContext.start(); 
     Collection<Endpoint> endpoints = camelContext.getEndpoints(); 
    } 
} 

Всякий раз, когда я называю старт() фактические конечные точки запускаются который вызывает XMPP маршруты на провал с хоста не найдено исключений; Я ожидал от насмешек заменить настоящие.

Может ли кто-нибудь предложить, что я делаю неправильно?

Бест, Эдоардо

ответ

1

@MockEndpointsAndSkip только для производителей (например, не потребителей), так что все пути из конечных точек не шутят.

Вы можете использовать replaceFromWith с советом-строителем. Смотрите раздел Заменить от с другой конечной точкой в официальной документации Camel для примера:

+0

Ах, я вижу .. и издевается не могут быть производители все равно так «издевается» их делают нет смысла :) Аннотации, которые заменили всех продюсеров прямым, было бы неплохо. – Eddy

+0

Бах, у меня также есть «к» конечным точкам, указывающим на XMPP, поэтому мне пришлось обманывать routeDefinition, чтобы также _remove_ исходные конечные точки. В чем же причина не для назначения _replacing_ целей? – Eddy

+0

Вы можете использовать компонент заглушки - http://camel.apache.org/stub.html –

Смежные вопросы