Ninject:使用NSubstitute进行自动模拟?

任何人都可以提供帮助,我在使用Ninject和NSubstitute之间可用的自动模拟时遇到问题,实际上这个包是一个名为Ninject.MockingKernel.NSubstitute的ninject包,它应该允许我使用Ninject创建Ninject.MockingKernel.NSubstitute并返回实例注入Ninject.MockingKernel.NSubstitute

Moq和Rhinomocks似乎有一些例子,但我没有看到NSubstitute。

到目前为止我所拥有的是什么

 this.kernel = new NSubstituteMockingKernel(); var summaryService = this.kernel.GetMock(); // GetMock not available 

有人用吗?

以下是根据源代码改编的几个示例:

 [TestFixture] public class Tests { ///  /// Mocks are singletons. ///  [Test] public void MocksAreSingletons() { using (var kernel = new NSubstituteMockingKernel()) { var firstReference = kernel.Get(); var secondReference = kernel.Get(); firstReference.Should().BeSameAs(secondReference); } } ///  /// Real objects are created for auto bindable types. ///  [Test] public void RealObjectsAreCreatedForAutoBindableTypes() { using (var kernel = new NSubstituteMockingKernel()) { var instance = kernel.Get(); instance.Should().NotBeNull(); } } ///  /// Reals objects are singletons. ///  [Test] public void RealObjectsAreSingletons() { using (var kernel = new NSubstituteMockingKernel()) { var instance1 = kernel.Get(); var instance2 = kernel.Get(); instance1.Should().BeSameAs(instance2); } } ///  /// The injected dependencies are actually mocks. ///  [Test] public void TheInjectedDependenciesAreMocks() { using (var kernel = new NSubstituteMockingKernel()) { var instance = kernel.Get(); instance.DummyService.Do(); instance.DummyService.Received().Do(); } } public interface IDummyService { void Do(); } public class DummyClass { public DummyClass(IDummyService dummyService) { this.DummyService = dummyService; } public IDummyService DummyService { get; set; } } }