有没有一种方法可以使用AutoFixture填充对象实例?

时间:2019-03-28 00:34:00

标签: autofixture

这是我要做的事的一个示例

var foo = CreateFoo(); // I don't have access to the internals of CreateFoo

fixture.Populate(foo); // foo should now have random property values

很显然,没有Fixture.Populate方法。但是我应该如何解决这个问题呢? 谢谢!

1 个答案:

答案 0 :(得分:0)

AutoFixture确实不提供API来填充现有对象的可写属性。但是,您可以使用以下代码段实现所需的行为:

var fixture = new Fixture();
var objectToFill = new TypeWithProperties();

new AutoPropertiesCommand().Execute(objectToFill, new SpecimenContext(fixture));

Assert.NotNull(objectToFill.Value);

如果经常需要,您可以在测试项目中为IFixture创建扩展方法。