.NET是否有填充测试数据的框架?

时间:2009-10-22 21:57:02

标签: c# .net tdd populate

我使用c#进行单元测试和集成测试通常我需要根据属性自动填充字段。

假设我们将测试是否可以编写并将用户数据写回数据库。

  • 我创建了一个用户对象填充字段write user to database
  • 从数据库中读取用户对象
  • 检查字段,如果我写的内容与我读的内容相同

是否有任何框架可以自动为用户填充测试数据并检查两个对象是否具有相同的值?

示例代码可能是这样的

User user = new User();
AutoPopulator.Populate(user);
user.Save();

4 个答案:

答案 0 :(得分:74)

您可能会发现它相关。以下列出了今天的其他一些框架:

众所周知并受到尊重:

鲜为人知的:

陌生:

答案 1 :(得分:15)

看看NBuilder。它允许您使用随机数据,递增值以及您可能想到的任何内容构建测试对象。通过一个漂亮的流畅界面。

答案 2 :(得分:3)

是的。我在Summer of NHibernate观看Stephen Bohlen系列会话#3时发现了这一点。

他的公司Microdesk开发了一个实用程序,它允许您在测试夹具构造中保存数据库的状态,在每次测试开始时设置数据库的状态,并恢复原始状态关于测试夹具解构的数据库。

在此处下载该实用程序:Microdesk.Utility.UnitTest

有关如何使用它的教程,请观看夏季NHibernate会议#3视频。

答案 3 :(得分:-1)

Fluent NHibernate有一项功能可以为您提供愿望清单上的所有内容,但自动填充部分除外:

链接:http://wiki.fluentnhibernate.org/Persistence_specification_testing

但是,考虑到代码合同的C#,使用反射自动自动创建有效对象并不困难。