2013-08-31 9 views
3

사람이 도와 드릴까요, 내가 Ninject에와 NSubstitute 사이에 사용할 수있는 자동 조롱을 사용하는 데 문제가 실제로 패키지가 나에게 주입 모의 객체와 인스턴스를 모의 객체를 생성하고 반환 Ninject에 사용할 수 있도록해야 Ninject.MockingKernel.NSubstitute라는 패키지화해서 Ninject이다.Ninject : NSubstitute를 사용하여 자동 조롱?

는 MOQ 및 Rhinomocks에 대한 예를 몇 가지가있는 것 같습니다 그러나 나는 NSubstitute에 대한 표시되지 않습니다.

내가 지금까지 그것을 사용

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

누구는 한 무엇?

[TestFixture] 
public class Tests 
{ 
    /// <summary> 
    /// Mocks are singletons. 
    /// </summary> 
    [Test] 
    public void MocksAreSingletons() 
    { 
     using (var kernel = new NSubstituteMockingKernel()) 
     { 
      var firstReference = kernel.Get<IDummyService>(); 
      var secondReference = kernel.Get<IDummyService>(); 

      firstReference.Should().BeSameAs(secondReference); 
     } 
    } 

    /// <summary> 
    /// Real objects are created for auto bindable types. 
    /// </summary> 
    [Test] 
    public void RealObjectsAreCreatedForAutoBindableTypes() 
    { 
     using (var kernel = new NSubstituteMockingKernel()) 
     { 
      var instance = kernel.Get<DummyClass>(); 

      instance.Should().NotBeNull(); 
     } 
    } 

    /// <summary> 
    /// Reals objects are singletons. 
    /// </summary> 
    [Test] 
    public void RealObjectsAreSingletons() 
    { 
     using (var kernel = new NSubstituteMockingKernel()) 
     { 
      var instance1 = kernel.Get<DummyClass>(); 
      var instance2 = kernel.Get<DummyClass>(); 

      instance1.Should().BeSameAs(instance2); 
     } 
    } 

    /// <summary> 
    /// The injected dependencies are actually mocks. 
    /// </summary> 
    [Test] 
    public void TheInjectedDependenciesAreMocks() 
    { 
     using (var kernel = new NSubstituteMockingKernel()) 
     { 
      var instance = kernel.Get<DummyClass>(); 
      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; } 
    } 
} 
: 여기

답변