c# - 如何为 Ninject 创建最小起订量供应商?

标签 c# .net dependency-injection moq ninject

我想创建一个简单的 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 的方法绑定(bind)来完成我想要的:

kernel.Bind<ISomeInterface>().ToMethod(x => new Mock<ISomeInterface>().Object);

我仍然想要一种更优雅的方式,我可能必须按照 Ian 的建议检查 Ninject.Moq,但如果有人有任何真实的代码示例,那就太棒了。

最佳答案

MockingKernel你需要什么扩展句柄?它具有 Moq、RhinoMocks 和 NSubstitute 风格,并且在 NuGet 上也可用。

关于c# - 如何为 Ninject 创建最小起订量供应商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6877409/

相关文章:

C# Unity - 在运行时更改具体实现

c# - CsvHelper - 使用映射写入 SQL 数据库

c# - 检测并防止/延迟Windows移动电源关闭

c# - 当 c# .net using block 失败时会发生什么?

c# - ServiceStack.Net Redis : Storing Related Objects vs. 相关对象 ID

javascript - 关闭 AngularJS 中的隐式依赖注入(inject)

c# - 使用扩展方法来类型转换一个坏主意吗?

.net - 在 winforms 应用程序中使用 ASP.NET 成员资格提供程序是个坏主意吗?

c# - 如果从同一个线程调用 Dispatcher.BeginInvoke 是否会将调用排队?

asp.net - 通过依赖注入(inject)传递 ASP.NET 用户