9

I have some message consumers that take dependencies through the constructor, and I would like to cover them in unit tests. Does MassTransit's test harness provide a way to register consumers with constructor parameters?

RAM
  • 2,257
  • 2
  • 19
  • 41

1 Answers1

12

You can specify a factory method, or a consumer factory, when creating a consumer test harness.

harness.Consumer<T>(() => new T());

You can find the three standard extension methods in the code:

https://github.com/MassTransit/MassTransit/blob/develop/src/MassTransit/Testing/ConsumerTestHarnessExtensions.cs#L35

UPDATE: MassTransit now has container support for the test harness

Chris Patterson
  • 28,659
  • 3
  • 47
  • 59