2013-02-27 70 views
4

我正在做java駝峯開發,我想單元測試(junit4)一大堆功能,並將Exchange作爲參數傳入。Apache Camel Exchange的單元測試函數作爲參數

例如:

public finalObject getProperty(final Exchange exchange, final String property) throws Exception { 
    //all about getting property from xml message in exchange via xpath 
} 

問題: 1>我可以使用EasyMock的嘲笑交流?以及如何將預定義的xml設置爲交換內部的傳入消息?

2>如果沒有,我需要設置駱駝測試?如何在駝峯測試中將預定義的xml設置爲交換內部的傳入消息。

非常感謝。

+0

你爲什麼不模仿端點和嘲諷他們返回身體。請參閱http://camel.apache.org/mock.html http://camel.apache.org/testing.html您應該理想地集中於我猜測的嘲笑端點。 – Saurabh 2013-02-27 13:56:02

+0

@Saury:我對endponts沒有興趣,我想測試的是從Exchange獲取xml消息。但是,假設我必須鎖定端點才能獲得模擬交換,那麼如何在交換內部設置內容xml消息? – Gob00st 2013-02-27 14:09:33

回答

4

看一下this駱駝SVN回購測試基類。

+0

謝謝佩特,明天我會給你一個去! – Gob00st 2013-02-27 22:38:45

10

您還可以創建這樣一個新的默認交換:

CamelContext ctx = new DefaultCamelContext(); 
    Exchange ex = new DefaultExchange(ctx);