使用ASB集成测试系统的适当方法是什么?有了类似Kafka和使用docker-compose的东西,我可以启动两个将通过Kafka异步通信的服务。有没有办法与ASB做类似的事情?如果没有,什么是常见的集成测试模式?
答案 0 :(得分:6)
Service Bus的定价模型为12.5 million operations per month included for free。过去,它发送的每百万条消息不到一美元。有了这些类型的服务,作为集成测试的一部分,您可以很容易地以非常低的成本启动和拆除实例。
例如,[OneTimeSetup]
和[OneTimeTearDown]
方法,您可以将这些方法用作集成测试套件的一部分,以便配置并随后删除Service Bus实例。
答案 1 :(得分:1)
可悲的是,我认为Azure Storage Emulator尚未支持服务总线,但您可以将功能提取到接口,并编写假的ASB并使用它或让接口使用模拟器中的队列。如果你想使用实际的ASB并且不介意产生费用,你可以用一个名称的guid来创建一个新的,或者如果创建evanescent队列或带有guid的主题/订阅的名字,那么就把它全部撕掉当你完成时就失败了。
也许并不理想,但它为您提供了一些选择。也许如果您分享了有关您使用ASB的更多细节,我们可以提供更好的解决方案。
答案 2 :(得分:0)
docker hub中有一个 Azure Storage Emulator Docker Image 。使用它时,请记住必须使用Windows仿真:
给定的图像可以在docker compose中使用:
version: '3.7'
services:
azure_sb:
container_name: azure_sb
image: microsoft/azure-storage-emulator
tty: true
restart: always
ports:
- "10000:10000"
- "10001:10001"
- "10002:10002"
对于测试或开发用途,请考虑使用 Azurite link to doc
的lightway版本version: '3.7'
services:
azurite:
container_name: azurite
image: mcr.microsoft.com/azure-storage/azurite
tty: true
restart: always
ports:
- "10000:10000"
- "10001:10001"