如何获取MassTransit中的注册消费者列表?

时间:2020-07-02 15:41:39

标签: masstransit

有没有办法获取所有注册消费者的名单?现在,我需要编写一个测试,以确保所有必需的队列都已注册使用者。不幸的是,这是不可能的,或者至少我不知道一种方法。

我的测试应该涵盖那种情况,当您忘记注册一个情况并且很难发现时,除非您使用请求/响应情况,否则会抛出超时异常。

Moq并没有太大帮助,因为大多数情况是它是带有约束的通用方法(如AddConsumer),在验证使用特定参数调用某些方法时,这是一个很大的问题。我可以将其替换为非泛型调用,但我想将其用作最后的选择。

谢谢

1 个答案:

答案 0 :(得分:0)

配置容器后,您可以直接使用IServiceCollection来检查注册是否存在。

Assert.That(services.Any(x => x.ServiceType == typeof(SomeConsumer)); 

为每个消费者做到这一点。

相关问题