C# - 通过IBM Websphere MQ接收的单元测试消息

3

我刚接触IBM Websphere 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 = new MessageListener(Method to process the message);

我已经为消费者分配了监听器:

consumer.MessageListener = messageListener;

我能够连接到队列管理器,读取消息并在WPF窗口中显示该消息。

现在,对于上面的代码,我必须编写单元测试。

据我所知,在单元测试中,我们不会创建连接并从队列中读取消息,因此我该如何模拟上述代码,以便我可以传递虚假消息并检查是否可行。


将接口背后的依赖项抽象化,以使它们可以被模拟。这样,在测试时就可以将它们替换成模拟对象。 - Nkosi
展示监听器的定义以及监听器如何被使用的示例。从中可以确定所需/期望的功能并创建一个抽象。 - Nkosi
1个回答

0

你正在调用的XMS API实际上将与队列管理器通信。因此,如果没有队列管理器,API将失败,单元测试也将失败。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接