模拟XMPP端点

时间:2015-01-06 11:12:32

标签: apache-camel

我试图验证我需要阻止端点启动的Camel路由,尤其是XMPP,因为它在URI中包含具体的主机信息。不幸的是,我似乎无法弄明白。

我的测试课如下:

@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();
    }
}

每当我调用start()时,都会启动实际的端点,这会导致XMPP路由失败并发现主机未找到异常;我期待嘲笑取代真实的嘲笑。

任何人都可以建议我做错了吗?

最佳, 爱德华多

1 个答案:

答案 0 :(得分:1)

@MockEndpointsAndSkip仅适用于生产者(例如非消费者),因此来自端点的所有路径都不会被模拟。

您可以将replaceFromWith与建议使用构建器一起使用。有关示例,请参阅官方Camel文档中的从另一个端点替换部分: