【问题标题】:C# - UnitTest message received through IBM Websphere MQC# - 通过 IBM Websphere MQ 接收到 UnitTest 消息
【发布时间】:2016-10-31 00:12:35
【问题描述】:

我是 IBM Websphere MQ 的新手。

在我们的项目中,我已经实现了从 IBM MQ 读取消息的代码。

我已经安装了 IBM WebSphere 客户端,我正在使用 IBM.XMSIBM.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 中,我们不会创建连接并从队列中读取,所以我如何模拟上面的代码,以便我可以传递虚拟消息并检查它。

【问题讨论】:

  • 抽象接口背后的依赖,使其可模拟。这样你就可以在测试时将它们换成模拟了。
  • 显示监听器的定义和如何使用监听器的示例。从中可以确定所需/预期的功能并可以创建抽象。

标签: c# unit-testing ibm-mq


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-11-17
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多