我使用 c#,对于单元测试和集成测试,通常我需要根据属性自动填充字段。
假设我们将测试是否可以将用户数据写入数据库并将其取回。
- 我创建一个用户对象填充字段将用户写入数据库
- 从数据库中读取用户对象
- 检查字段,如果我写的和我读的一样
是否有任何框架可以自动为用户填充测试数据并检查两个对象是否具有相同的值?
示例代码可能像这样
User user = new User();
AutoPopulator.Populate(user);
user.Save();
看看NBuilder。它允许您使用随机数据、递增值以及您可能想到的任何内容构建测试对象。一切都通过一个漂亮流畅的界面。
就在这里。我在观看Stephen Bohlen的 NHibernate 之夏系列第 3 节时发现了这一点。
他的公司Microdesk开发了一个实用程序,可以让您在测试夹具构造时保存数据库的状态,在每次测试开始时设置数据库的状态,并在测试夹具解构时恢复数据库的原始状态.
在此处下载实用程序:Microdesk.Utility.UnitTest
有关如何使用它的教程,请观看 NHibernate 之夏会议 #3 视频。
Fluent NHibernate 有一个功能,可以为您提供愿望清单上的所有内容,除了自动填充部分:
链接:http ://wiki.fluentnhibernate.org/Persistence_specification_testing
但是,考虑到带有代码协定的 C#,使用反射自己自动创建有效对象并不难。