Azure 服务总线 - Java 应用程序的集成测试方法

Jac*_*ski 5 java continuous-integration integration-testing azure azureservicebus

您对使用 Azure 服务总线进行消息传递的 Java 应用程序进行集成测试的方法是什么?

我不想在每个 CI 构建中都使用云服务。更愿意生成 Azure 服务总线的嵌入式版本或以某种方式模拟它。或者,我正在考虑对 AMQP/JMS 进行编码,并在 CI 构建期间使用嵌入式 ActiveMQ 来模拟 Azure 服务总线。谢谢。

Pet*_*Pan 2

根据您的描述,听起来您想使用本地兼容替代方案而不是 Azure 服务总线来与本地 CI 的 Java 应用程序集成。

据我所知,之前有一个名为Windows Service Bus的替代方案,如下关于Windows Service Bus的页面所述。

Windows 服务总线 (WSB) 可以被视为 Azure 服务总线的本地版本。

但正如 SO 线程Is Service Bus for Windows Server dead所说,它已经正式死亡。并且没有像 SO 线程Azure 服务总线模拟器本地测试 Azure 服务总线那样的服务总线模拟器,无需任何订阅或登录(由 MSFT 回答)。

考虑到Azure 服务总线的限制以及根据我的经验,我不确定是否有替代软件可以代替它而不会出现兼容性问题,因此如果必须的话,使用云服务进行 CI 构建是唯一的选择。

如果您不必使用 Azure Server Bus 进行消息传递,Azure Storage Queue 是与您的 Java App 集成的一个不错的选择,您可以参考官方文档 使用 Azure 存储模拟器进行开发和测试下载模拟器并进行测试。用它。