4
A
回答
4
NBuilder不会自动支持在这个时候填充引用类型。
但是,可以通过使用构建器创建每个引用类型来执行您想要的操作。
此刻你可能这样做:
var person = Builder<Person>
.CreateNew()
.Build();
Assert.That(person.Name, Is.EqualTo("Name1"));
Assert.That(person.Address, Is.Null);
你想要做什么是这样的:
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"));
1
我与NBuilder发现一个限制是数据它生成这种方式的字符串是基于属性名称,例如Name1,Street1,Zipcode1,如上所示。我发现自己使用.Phrase(),但它没有生成合理的随机数据,而像电子邮件这样的项目必须拼凑在一起。
您可以通过nuget link here or use Visual Studio下载Faker.Net,并让它创建模拟数据作为构建命令的一部分。然后你可以用它来建立你的Person模拟对象(再次使用Faker/NBuilder)。
var addresses = Builder<Address>.CreateListOfSize(20)
.All()
.With(c => c.Street = Faker.StreetName().First())
.With(c => c.State = Faker.UsState().First())
.With(c => c.ZipCode = Faker.ZipCode().First())
.Build();
This blog post一些细节更多的例子。
相关问题
- 1. 值只填充2
- 2. 如何用空值填充表类型中的表类型
- 3. 如何填充类型为
- 4. 填充权只
- 5. 如何填充值类型为Hello的数组填充字符串?
- 6. JSONModel:填充泛型类型的NSArray
- 7. 数组只填充最后一个值
- 8. PHP电子邮件只填充值
- 9. 使填充下拉值只读
- 10. JTable填充类
- 11. 填充类XML
- 12. dropdownlistfor填充值
- 13. 填充值
- 14. 填充列值?
- 15. 填充值
- 16. 异步填充强类型数据集
- 17. 使用类型填充列表
- 18. 填充数组时类型不匹配
- 19. 自动填充表的用户类型
- 20. MVC模型类不会填充到后
- 21. 从DataRow填充可空类型
- 22. 填充光标与行类型变量
- 23. 填充ArrayAdapter - 类型字符串[]
- 24. 在Phalcon中填充模型类
- 25. MVC 3和Uploadify +填充模型类
- 26. Django模型Formset预填充值问题
- 27. ASP.Net MVC ModelBindingContext类 - 它的模型值是如何填充的?
- 28. JTable模型填充
- 29. fill_between只填充两个x值,不填充整个散点图,matplotlib
- 30. SQL查询:填充只
这是相当恼人的,它不支持这个看似明显的用例。 – Schneider 2014-02-04 17:10:16