2016-09-03 4 views
3

Скажем, у меня есть такой интерфейс.Макет метода, возвращающего интерфейс с NInject Mocking Kernel

public interface ICamProcRepository 
{ 
    List<IAitoeRedCell> GetAllAitoeRedCells(); 
    IAitoeRedCell CreateAitoeRedCell(); 
} 

Как высмеять метод, возвращающий интерфейс и список объектов интерфейса. Я использую Ninject.MockingKernel.Moq

var mockingKernel = new MoqMockingKernel(); 

var camProcRepositoryMock = mockingKernel.GetMock<ICamProcRepository>(); 

camProcRepositoryMock.Setup(e => e.GetAllAitoeRedCells()).Returns(?????WHAT HERE?????); 

camProcRepositoryMock.Setup(e => e.CreateAitoeRedCell()).Returns(?????WHAT HERE?????); 
+2

, создавая mocks желаемых результатов и передавая их в 'Returns' установки. либо через ядро, либо по прямой moq. Я не знаю, что Ninject сможет вам помочь. – Nkosi

ответ

2

В вашем случае вам необходимо создать издевается желаемых результатов для издевались интерфейса вопрос и передать их в Returns его установок, либо с помощью ядра или прямой MOQ. Я не знаю, Ninject, чтобы быть в состоянии помочь вам там, но здесь это простой примеру MOq

var mockingKernel = new MoqMockingKernel(); 

var camProcRepositoryMock = mockingKernel.GetMock<ICamProcRepository>(); 

var fakeList = new List<IAitoeRedCell>(); 
//You can either leave the list empty or populate it with mocks. 
//for(int i = 0; i < 5; i++) { 
// fakeList.Add(Mock.Of<IAitoeRedCell>()); 
//} 

camProcRepositoryMock.Setup(e => e.GetAllAitoeRedCells()).Returns(fakeList); 

camProcRepositoryMock.Setup(e => e.CreateAitoeRedCell()).Returns(() => Mock.Of<IAitoeRedCell>()); 

Если издевались объекты должны обеспечить поддельную функциональность, а затем тоже придется быть настроена соответствующим образом.

+0

Хорошо, имеет смысл. Позвольте мне попробовать. – VivekDev

Смежные вопросы