【问题标题】:nServiceBus QA testing toolnServiceBus QA 测试工具
【发布时间】:2012-04-20 20:51:05
【问题描述】:

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

【问题讨论】:

    标签: c# .net nservicebus


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      这是唯一想到的事情。它是测试任何分布式系统的绝佳框架。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          为您的端点启用审核 (ForwardReceivedMessagesTo) 并编写一些代码来验证预期消息是否最终进入审核队列。

          【讨论】:

          • 据我所知,审计确实不适用于单独测试发布者。在我的 qa 环境中,我已经准备好在没有任何真正订阅者的情况下进行测试的发布者。在没有实际订阅者的情况下,ForwardReceivedMessagesTo 似乎不适用。
          • 只需向您的发布者发送一条订阅消息,使其创建一个“QA”订阅,并在您触发发布者时验证预期消息是否最终出现在假订阅者队列中
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-09-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多