2016-02-14 75 views
1

我如何讓AutoFixture在包含接口屬性的對象中填充屬性?AutoFixture設置界面屬性裏面的類

public class Car : ICar 
{ 
    public string Name { get; set; } 
    public ICarinformation ContactInformation { get; set; } // problematic 
      ... 

public CarInformation: ICarinformation 
{ 
    public string Make {get; set; } // I would like these to be populated as well 
    ... 

fixture.Create()拋出:

類型的異常 'Ploeh.AutoFixture.ObjectCreationException' 發生Ploeh.AutoFixture.dll但在用戶代碼中沒有處理

附加信息:AutoFixture無法從Mediachase.Commerce.Inventory.ICarInformation創建實例 ,因爲它是一個 接口

有沒有辦法爲該屬性提供具有混凝土類型的AutoFixture?

回答

5

是的,你可以只使用TypeRelay定製

fixture.Customizations.Add(
    new TypeRelay(
     typeof(ICarInformation), 
     typeof(CarInformation)); 

另外,如果你想使用使用起訂量假的對象,你可以使用任何AutoMoqCustomizationAutoConfiguredMoqCustomization

+0

真棒!像魅力一樣工作 – ShaneKm