如何使用构建器自动创建测试数据,以便将验证考虑在内

时间:2012-09-07 09:46:37

标签: c# unit-testing verification test-data nbuilder

我正在使用NBuilder来创建测试数据,而我的类具有大量属性,因此手动创建是不可能的。在我使用NBuilder之前,我将一些SQL选择粘贴到csv文件并使用自动映射在测试中重新创建它们。现在我想使用NBuilder或其他东西,我面临实体/数据库限制的问题。

有什么办法可以告诉其中一些构建器在生成数据时考虑我的Mapping文件。例如,如果有映射

  this.Property(t => t.SomeId)
                .IsFixedLength()
                .HasMaxLength(3);

我希望框架能够根据这些要求为该属性生成测试数据。

1 个答案:

答案 0 :(得分:1)

我想知道您是否可以使用Linq-to-EDMX来访问实体的映射信息。有了这些信息,您可以使用NBuilder的CreateNew方法执行以下操作:

// Linq-to-EDMX was used to get the propertyLength value
x => x.SomeId = randomString.Substring(0, propertyLength)