我最近開始調查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