C# 类内的AutoFixture设置接口属性
如何让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
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