类中的AutoFixture设置接口属性

时间:2016-02-14 00:23:09

标签: c# .net 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?

1 个答案:

答案 0 :(得分:6)

是的,您可以使用TypeRelay自定义

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

或者,如果您想使用Moq使用假对象,则可以使用AutoMoqCustomizationAutoConfiguredMoqCustomization