2

有没有人知道一个工具或有一个好的 QA 解决方案来单独测试单个 nServiceBus 端点?我们的系统中有多个发布者和订阅者,我们希望单独测试它们。例如,为了测试我们的发布者,我们希望能够拥有一个工具,我们的 QA 可以使用该工具轻松订阅/取消订阅不同的发布者,以便他们可以将消息传递到他们的“QA 队列”以验证消息。为了测试订阅者,我们希望他们能够将消息直接发布到订阅者输入队列。

4

4 回答 4

1

有一个名为BizUnit的集成测试框架,它允许您以声明方式定义集成测试。它带有一些用于排队/侦听 MSMQ 的预定义步骤。

由于 NServiceBus 需要消息头信息,您可能必须编写自己的自定义步骤来排队。

虽然这适用于 BizTalk 测试,但它与 BizTalk 的安装或可用没有任何依赖关系。

这是唯一浮现在脑海中的事情。它是测试任何分布式系统的绝佳框架。

于 2012-04-19T14:35:06.450 回答
1

您可以将一个简单地正确配置为具有预定义端点名称的订阅者的程序集放在一起。唯一的配置是传递端点(消息映射)来修改配置文件。我想您可以将其包装在一个脚本中,然后让 QA 使用命令行参数运行该脚本。PowerShell 浮现在脑海,因为它很容易操作 XML。这可能看起来像“Subscribe-To-EndPoint Messages.dll endpoint_name”

于 2012-04-19T20:31:51.533 回答
1

我们为 pub 条目连接了 wcf 端点。为 qa 创建了一个订阅者,将消息保存在 RavenDB 中。由于在 pub 中具有相同类型的多个处理程序不起作用,因此 wcf 端点消息是新类,主消息作为基类。然后 QA 可以使用 soapui 或其他测试客户端。

于 2012-04-20T03:45:13.383 回答
1

为您的端点(ForwardReceivedMessagesTo)打开审计并编写一些代码来验证预期的消息是否最终出现在审计队列中。

于 2012-04-20T12:51:05.177 回答