Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
This extension provides integration between Ninject and Moq, creating a "lightweight" auto-mocking container. In your tests, you should use the
MockingKernel instead of the
StandardKernel and the
Module class corresponding to your mocking framework instead of the
It adds the following features to Ninject:
The following syntax will bind a service to the mocked object of a Mock:
Bind().ToMock();This binding is only necessary if you want to refine your binding with the returned
If you request a service that has no binding, instead of creating an implicit self-binding, the
MockingKernelwill create an instance of
Mockand return the mocked object associated with it.
MockingKernelhas a new
GetMock()method to get the real mock object. You can use this to do your mock setup and verification.
Reset()method is available, which clears the Ninject cache of any activated instances, regardless of whether they remain in scope. You can call this method after each test to ensure that instances are reactivated, without having to dispose and re-initialize the kernel each time.
Update to a newer release of the mocking framework
Ninject.MockingKernel with the latest mocking framework of your choice you just have to update the mocking framework in your project. E.g. for Moq execute the following command in the Nuget Package Manager Console (see also https://github.com/ninject/ninject.mockingkernel/pull/15#issuecomment-37828648)