2013-01-08 222 views
2

我需要編寫單元測試的情況下使用(1.6版)的一些駱駝航線駱駝航線測試

任何人都可以請建議是否有可能嘲笑路線內部組件(處理器和idempotentConsumer)?如果是,請提出方法。

下面是路由片斷

from("direct:someuri").process(someClassObject). 
    idempotentConsumer(header("someHeadername"),socratesMessageIdRepository(bean(JpaTemplate.class)))./*process(exceptionProcessor)*/ 
    to(someQueues); 

回答

3

駱駝有用於測試和嘲弄一個偉大的框架。

有很多關於這個問題的話題,我建議你開始閱讀這裏:http://camel.apache.org/mock這裏http://camel.apache.org/testing.html

注意,駱駝來源是充滿考驗的情況下,你可以學習一些中得到的靈感如何測試/嘲弄。防爆。 http://svn.apache.org/repos/asf/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerTest.java

如果你只是想嘲笑一個處理器,你可以使用bean組件來代替,並通過引用來調用它。

from("foo").bean("myBean").to("bar); 

如果您使用的春天,你可以只是簡單地注入你的處理器的模擬版本,並將其命名爲myBean。即使沒有春天,駱駝有一個註冊表,你可以綁定你的模擬版本,而不是真正的。