2016-06-28 161 views
2

我是IBM Websphere MQ的新手。C# - 通過IBM Websphere收到的UnitTest消息MQ

在我們的項目中,我已經實現了從IBM MQ讀取消息的代碼。

我已經安裝的IBM WebSphere客戶端和我使用的IBM.XMS引用IBM.XMS.Client.WMQ創建連接並讀取從隊列中的消息。

XMSFactoryFactory xff = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ); 
IConnectionFactory cf = xff.CreateConnectionFactory(); 

我已經設置了像HostName,Channel,Port,QueueManager這樣的必要屬性。

我已經創建了MessageListener:

MessageListener messageListener = new MessageListener(Method to process the message); 

我已經指定監聽消費者:

consumer.MessageListener = messageListener; 

我能夠連接到隊列管理器,閱讀郵件,並顯示在WPF窗口,消息。

現在對於上面的代碼,我必須寫UnitTest。

據我所知,在unittest中,我們不會創建連接並從隊列中讀取數據,所以我如何在代碼上面進行模擬以便我可以傳遞虛擬消息並檢查它。

+0

抽象接口背後的依賴關係,使它們可以嘲弄。這樣你的測試時就可以將它們換掉。 – Nkosi

+0

顯示偵聽器的定義以及偵聽器如何被使用的示例。由此可以確定所需的/預期的功能並且可以創建抽象。 – Nkosi

回答

0

您正在調用的XMS API實際上將與隊列管理器進行通信。所以沒有隊列管理器,API將會失敗,單元測試也會失敗。