You’ve run into it. MediatR throwing an
InvalidOperationException when you didn’t have a matching handler for a request. There’s a fairly simple solution to prevent this: Find MediatR Requests without Handlers.
So here’s some quick code you can throw in a unit test to verify you don’t have any missing handlers.
The above code uses reflection to get all the
RequestHandler<,> . Also worth mentioning it leverages Autofac for the
IsClosedTypeOf method in the linq query.
Here’s a quick unit test that shows it’s usage for finding Requests without any handlers. In the sample below I have two Requests without Handlers: MyRequestWithoutHandler and MyRequestWithResultWithoutHandler
All the source code for my example is available on GitHub if you want to try it yourself.
Another useful test would be to verify that your container actually has the the request and behavior handlers registered correctly. Another post to come with that.
Always love hearing your comments. Please post them here or on Twitter.