nBuilder仅填充值类型

Cas*_*rns 5 c# nbuilder

我正在使用nBuilder填充对象图,但它仅填充值类型。我希望它填充引用类型(相关对象)。

http://nbuilder.org/

mez*_*oid 5

NBuilder目前不支持自动填充引用类型。

但是,可以通过使用构建器来创建每种引用类型来做您想要的事情。

目前,您可能正在这样做:

var person = Builder<Person>
    .CreateNew()
    .Build();

Assert.That(person.Name, Is.EqualTo("Name1"));
Assert.That(person.Address, Is.Null);
Run Code Online (Sandbox Code Playgroud)

您要执行的操作是这样的:

var address = Builder<Address>
    .CreateNew()
    .Build();

var person2 = Builder<Person>
    .CreateNew()
    .With(x => x.Address = address)
    .Build();

Assert.That(person2.Name, Is.EqualTo("Name1"));
Assert.That(person2.Address, Is.Not.Null);
Assert.That(person2.Address.Street, Is.EqualTo("Street1"));
Assert.That(person2.Address.Zipcode, Is.EqualTo("Zipcode1"));
Run Code Online (Sandbox Code Playgroud)