如何为单元测试初始化​​复杂对象?

时间:2016-08-26 14:33:15

标签: c# .net nunit moq autofixture

如何使用随机数据初始化复杂对象进行测试?

我有一种看起来像这样的复杂对象:

public class DynamicEntity
{
    public string EntityName { get; set; }
    public List<Entity> MappingEntityList { get; set; }
    public List<BaseAttributes> BaseAttributesList { get; set; }
}

我试图用随机数据初始化它:

// Fixture setup
Fixture fixture = new Fixture();
DynamicEntity dynamicEntityFixture = fixture.Create<DynamicEntity>();

然后我设置我的模拟对象以返回此dynamicEntityFixture:

_mockedObject.Setup(x => x.GetEntityProperties("account"))
                          .Returns(() => dynamicEntityFixture);

运行单元测试时我得到了:

  

Ploeh.AutoFixture.ObjectCreationException:AutoFixture无法执行   从中创建一个实例   System.Runtime.Serialization.ExtensionDataObject,很可能是因为   它没有公共构造函数,是抽象或非公共类型。

如何使用随机数据初始化复杂对象进行测试?

0 个答案:

没有答案