【发布时间】:2011-07-29 18:25:33
【问题描述】:
我想创建一个简单的 Ninject 提供程序,它返回 Moq 的实例而不是具体类型。到目前为止,我有这个:
public class NinjectMockProvider<T> : IProvider
{
public static Type Type { get { return typeof(T); } }
public object Create(IContext context)
{
Mock<T> newMock = new Mock<T>();
return newMock.Object;
}
}
但我敢肯定这都是错误的,因为我不知道自己在做什么。任何帮助和代码示例都会很棒。我只想有能力做:
kernel.Bind<ISomeInterface>().ToProvider<NinjectMoqProvider<ISomeInterface>>();
或类似的东西。
更新
我确实发现我可以通过使用 Ninject 的方法绑定来完成我想要的:
kernel.Bind<ISomeInterface>().ToMethod(x => new Mock<ISomeInterface>().Object);
我仍然想要一种更优雅的方式,我可能必须按照 Ian 的建议查看 Ninject.Moq,但如果有人有任何真实的代码示例,那就太棒了。
【问题讨论】:
-
谢谢,方法绑定的例子很棒
标签: c# .net dependency-injection moq ninject