There’s scenarios where we don’t care about the Moq “It.IsAny<>” parameter value being passed into a mocked method but we need to get the value on the way out. For example, take the scenario below. I’m using SQLite to form integration tests and I need to get a handle on the generated ParentWidget.Id to tie back to my Widget FK.
Had a scenario where I need to hide some of the API’s controller endpoints from Swagger along with their respective schemas that aren’t yet ready for public consumption. I still wanted them to be available for Postman/Newman tests as part of the CI/CD. Manged to achieve this using the following Swashbuckle filter and MVC convention:-
Using Moq I was creating a few unit tests and stumbled across an interesting problem. I needed to mock a call to an async method on a service under test that took in a 2 parameters and returned a tuple of 2 values.
Encountered the System.MissingMethodException: Method not found with very little else to go on. I noticed as part of the stack trace a reference to an async call on Entity Framework Core Add method.