在AutoFixture中,可以使用Customize方法来手动设置属性的值。以下是一个示例:
public class ParentClass
{
public ChildClass Child { get; set; }
}
public class ChildClass
{
public string Name { get; set; }
}
[Test]
public void Test()
{
var fixture = new Fixture();
var child = new ChildClass { Name = "CustomName" };
fixture.Customize(c =>
c.With(p => p.Child, child));
var result = fixture.Create();
Assert.AreEqual("CustomName", result.Child.Name);
}
在上面的示例中,我们定义了一个ParentClass和一个ChildClass。然后,我们使用Fixture的Customize方法来自定义ParentClass的Child属性的值。在这种情况下,我们将Child属性设置为一个具有自定义名称的ChildClass对象。
最后,我们使用fixture.Create方法创建ParentClass的实例,并验证Child属性的值是否与我们自定义的值匹配。
上一篇:AutoFixture.ObjectCreationExceptionWithPath在v4.0中出错,但在v3.51中正常。
下一篇:AutoFixture: 如何正确使用 ISpecimenBuilder 实现中的 BooleanSwitch() 来生成随机值?