8
所以我想從另一個嘲笑類型返回嘲笑類型返回類型,我已經取得了一些進展,但我堅持在這裏(接口名稱已被簡化)懲戒從另一個嘲笑類型使用起訂量
考慮接口IFoo和IFooItem。調用添加上IFoo的類型,傳入的IBAR返回IFooItem
interface IFoo
{
IFooItem Add(IBar bar);
}
interface IFooItem
{
int fooItemId {get; set;}
}
另外我有一個IFooRepository,這是我想要使用起訂量嘲笑,所以我可以嘲笑增加一個項目。
所以,
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
);
我要說不這樣做。在模擬對象之間創建依賴關係似乎不明智。只需明確地模擬並設置被測試的類所引用的屬性即可。如果'IFooItem.Property2'和'IBar.SomeProp'總是相同的話,那就把它們設置成相同的。 – bhamlin 2012-04-25 00:00:27