.NET 是不是有任何框架来填充测试数据? [关闭]

Posted

技术标签:

【中文标题】.NET 是不是有任何框架来填充测试数据? [关闭]【英文标题】:Is there any framework for .NET to populate test data? [closed].NET 是否有任何框架来填充测试数据? [关闭] 【发布时间】:2010-12-09 06:34:49 【问题描述】:

我使用 c#,对于单元测试和集成测试,我通常需要根据属性自动填充字段。 假设我们将测试是否可以将用户数据写入数据库并将其取回。

我创建了一个用户对象填充字段将用户写入数据库 从数据库中读取用户对象 如果我写的和我读的一样,检查字段

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

示例代码可能是这样的

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

【问题讨论】:

我已经添加了我的声音以重新打开,但以防万一:关闭并不意味着“坏”,关闭意味着“不计数”(在评分游戏中)。我很确定,一般 Q 和 A“推荐我一个库”不应该被计算在内,但目前“向我推荐一个库”等于“不具建设性”的情况也很糟糕。 【参考方案1】:

您可能会发现它相关。以下是截至今天的其他几个框架的列表:

知名和受人尊敬的:

NBuilder AutoFixture AutoPoco(已停产/弃用) Bogus - faker.js 的 C# 端口,支持语言环境。由 Elasticsearch (NEST) 使用。

鲜为人知:

Hydrator Fabricator

不熟悉:

TestDataGenerator TestDataFactory(已停产) TestData Any-.Net

【讨论】:

我无法让 AutoPoco 为我工作,但 AutoFixture 似乎非常有用。 Bogus 似乎更新最活跃,我非常喜欢它的功能。感谢您列出这些! Bogus 为我工作,它也适用于 linux 上的 dotnet core,这正是我想要的【参考方案2】:

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

【讨论】:

【参考方案3】:

是的,有。我在观看Stephen Bohlen 的Summer of NHibernate 系列的第 3 场会议时发现了这一点。

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

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

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

【讨论】:

【参考方案4】:

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

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

但是,鉴于 C# 具有代码协定,使用反射自己自动创建有效对象并不难。

【讨论】:

以上是关于.NET 是不是有任何框架来填充测试数据? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何开发和测试一个发送电子邮件的应用程序(而不用测试数据填充某人的邮箱)? [关闭]

recaptcha.net 是不是有任何替代品来阻止垃圾邮件? [关闭]

任何人都有使用 ServiceStack 或其他 .Net 服务框架的经验? [关闭]

实体框架是不是有内存提供程序?

数据库的单元测试框架[关闭]

C的单元测试框架[关闭]