我最近开始调查Apache骆驼,我有一个问题。 我开始编写一些测试我的路线,也有很多的例子,其中“为”路线的一部分作为阿帕奇骆驼模拟端点
<route id="person-add-route">
<from uri="direct:start"/>
<to uri="mock:result"/>
</route>
所以,我写了一个测试,我在哪里exepcting有模拟写:结果作为最后的结果。
@Test
@DirtiesContext
public void testCamel() throws Exception {
// Given
Object body = "body";
int messageCount = 1;
MockEndpoint endpoint = getMockEndpoint("mock:result");
// When
template.sendBody("direct:start", body);
// Then
endpoint.expectedMessageCount(messageCount);
endpoint.assertIsSatisfied();
}
这里的问题:这是很重要的写模拟:导致如果我想测试我的路线?
不知道你在问什么......你是问你是否需要在所有路线的末端包含一个模拟终点以测试它们? – mdnghtblue 2014-12-02 16:32:45
我在问 - 我是否需要在生产线中包含“模拟:结果”?如果是的话,这对我来说很困惑,因为我不明白为什么我需要在真实代码中添加测试功能?有什么办法,我可以在我的真实代码中排除“mock:”指令吗? 这对我来说不是一个问题,但我希望得到一些更优雅的解决方案。 谢谢, – 2014-12-02 18:17:27
你做错了,你应该在发送消息之前设置期望值。 1)设置预期2)发送消息3)断言已满意 – 2014-12-03 14:29:20