类中的自动夹具设置接口属性

本文关键字:设置 接口 属性 夹具 | 更新日期: 2023-09-27 18:34:39

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

夹具。创建(( 抛出:

类型为"Ploeh.AutoFixture.ObjectCreationException"的异常 发生在 Ploeh.AutoFixture 中.dll但未在用户代码中处理

其他信息:自动固定无法创建实例 来自Mediachase.Commerce.Inventory.ICarInformation,因为它是一个 接口

有没有办法为该属性提供具有混凝土类型的自动夹具?

类中的自动夹具设置接口属性

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

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

或者,如果您想使用最小起订量使用假物体,您可以使用 AutoMoqCustomizationAutoConfiguredMoqCustomization .