Does Ninject have and equivalent method for unity's registerinstance.
I want to create a mock object and register it.
Thanks
Does Ninject have and equivalent method for unity's registerinstance.
I want to create a mock object and register it.
Thanks
Here's the simple answer
Bind<IMyType>().ToConstant<MyType>(new MyType());
So here's an example using Moq:
var mock = new Mock<IMyType>();
//Setup your mock expectations / etc here.
//...
Bind<IMyType>().ToConstant(mock.Object);
Bonus answer:
I find that some people are actually just looking to create a singleton instance of a particular class, rather than actually creating it themselves (this allows the object to be created when something requests it, rather than when you are building your container). This is done like this:
Bind<IMyType>.To<MyType>().Using<SingletonBehavior>();
In your case, since you said the word "mock", I'd assume you'd want the first rather than the second answer, but it's a good thing to know.
Not sure what sort of mocking tool, if any, or version of Ninject you're using; however, it's worth mentioning that Ninject 2 has an extension for it that provides integration with Moq -- http://github.com/enkari/ninject.moq.
I realize this doesn't directly answer your question, Anderson's does that well, but thought it might be relevant anyway.