如何获取 MassTransit 中的注册消费者列表?
How to get list of registered consumers in MassTransit?
有没有办法获取所有注册消费者的列表?现在我需要编写一个测试,以确保所有必需的队列都已注册消费者。不幸的是,这是不可能的,或者至少我不知道办法。
我的测试应该涵盖那个场景,当你忘记注册一个并且很难找到时,除非你使用 request/response 场景,当它抛出超时异常时。
Moq 并没有太大帮助,因为它主要是带有约束的通用方法(如 AddConsumer),这在验证使用特定参数调用某些方法时是一个很大的问题。我可以用调用非泛型来替换它,但我想将其用作最后的手段。
谢谢
容器配置完成后,可以直接使用IServiceCollection
查询注册是否存在
Assert.That(services.Any(x => x.ServiceType == typeof(SomeConsumer));
对每个消费者都这样做。
有没有办法获取所有注册消费者的列表?现在我需要编写一个测试,以确保所有必需的队列都已注册消费者。不幸的是,这是不可能的,或者至少我不知道办法。
我的测试应该涵盖那个场景,当你忘记注册一个并且很难找到时,除非你使用 request/response 场景,当它抛出超时异常时。
Moq 并没有太大帮助,因为它主要是带有约束的通用方法(如 AddConsumer),这在验证使用特定参数调用某些方法时是一个很大的问题。我可以用调用非泛型来替换它,但我想将其用作最后的手段。
谢谢
容器配置完成后,可以直接使用IServiceCollection
查询注册是否存在
Assert.That(services.Any(x => x.ServiceType == typeof(SomeConsumer));
对每个消费者都这样做。