C# 类内的AutoFixture设置接口属性

C# 类内的AutoFixture设置接口属性,c#,.net,autofixture,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 {ge

如何让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?

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

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.Customizations.Add(
    new TypeRelay(
        typeof(ICarInformation),
        typeof(CarInformation));
或者,如果您想使用Moq使用假对象,可以使用
AutoMoqCustomization
AutoConfiguredMoqCustomization