Имитация возвращаемого типа из другого Mocked-типа с использованием Moq

Итак, я пытаюсь вернуть mocked-тип из другого Mocked-типа, я добился некоторого прогресса, но застрял здесь (имена интерфейсов были упрощены)

Рассмотрим интерфейс IFoo и IFooItem. Вызов Add для типа IFoo, передача IBar возвращает IFooItem

interface IFoo
{
   IFooItem Add(IBar bar);
}

interface IFooItem
{
   int fooItemId {get; set;}
}

Также у меня есть IFooRepository, который я пытаюсь использовать для имитации Moq, чтобы я мог имитировать добавление элемента.

Итак,

var mockFooRepository = new Mock<IFooRepository>();
mockFooRepository.Setup(m=> m.Add(It.IsAny<IBar>()))
 .Returns(
     // What is the correct way to mock properties of a new IFooItem from 
     // mocked properties of IBar
     // essentially a new mocked type of IFooItem that can read from IBar
     // so IFooItem.Property = somevalue, IFooItem.Property2 = IBar.SomeProp
     );
9
задан kd7 24 April 2012 в 23:48
поделиться