2016-06-28 90 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将会失败,单元测试也会失败。