2012-04-19 188 views
2

是否有人知道某个工具或者是否有良好的QA解决方案来单独测试各个nServiceBus端点?我们的系统中有多个发布商和订阅者,我们希望对他们进行单独测试。例如,为了测试我们的发布商,我们希望能够使用我们的质量检查工具轻松订阅/取消订阅不同发布商的工具,以便他们可以将邮件发送到其“QA队列”以验证邮件。为了测试订阅者,我们希望他们能够将消息直接发布到订阅者输入队列。nServiceBus质量保证测试工具

回答

1

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

1

有一个名为BizUnit的集成测试框架,它允许您声明性地定义集成测试。它带有一些预定义的排队/收听MSMQ的步骤。

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

虽然这是面向BizTalk测试,但它不依赖BizTalk正在安装或可用。

这是唯一想到的东西。这是测试任何分布式系统的好框架。

1

您可以将一个程序集简单地配置为具有预定义端点名称的订阅服务器。唯一的配置是传递端点(消息映射)来修改配置文件。我想你可以把它包装在一个脚本中,并让QA用命令行参数运行脚本。 PowerShell从一开始就非常喜欢操纵XML。这可能看起来像“订阅到端点消息.dll端点名称”

1

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

+0

据我所知,审计确实不适用于单独测试发布商。在我的qa环境中,我已经有了一个发布商,可以在没有任何真正用户的情况下进行测试。没有实际的用户,它显示ForwardReceivedMessagesTo不适用。 – Striker 2012-04-20 13:47:33

+0

只需向您的发布者发送一个subsciption消息,使其可以创建“QA”订阅,并在触发发布者时验证预期消息是否在假订阅者队列中结束 – 2012-04-26 20:02:48