如何让Ninject内核返回NSubstitute模拟对象?

时间:2016-02-10 13:18:55

标签: ninject nsubstitute

我在静态类中有静态方法,它注入了我的依赖项:

 public static void InjectDependency(NinjectModule module);

我有静态属性来获取每个对象的实例:

 public static IKernel AppKernel {get;set;}

如果我想创建一个实例,取决于我所引用的NinjectModule派生类,我使用以下代码:

 IInterface instance = MyStaticClass.AppKernel.Get<IInterface>();

但是现在我想让我的内核返回模拟对象,用 NSubstitute 创建。怎么办?

2 个答案:

答案 0 :(得分:1)

请参阅此Ninject MockingKernel,当您在测试时不要使用new StandardKernel()时,您将在案例中使用new NSubstituteMockingKernel() - ,但{ {1}}支持 RhinoMocks FakeItEasy **和** Moq

答案 1 :(得分:0)

您可以使用StandardKernel并绑定替代品:

foreach($serials as $serial)
{
    if(preg_match("???", $serial) === 0)
        echo 'found';
}