如何在C#中为数据库数据进行集成测试?

如何在C#中为数据库数据进行集成测试?,第1张

概述我最近一直在针对ASP.Net MVC控制器 *** 作编写一些集成测试,并且由于难以设置为了运行测试而需要存在的测试数据而感到沮丧. 例如,我想测试控制器的“添加”,“编辑”和“删除” *** 作.我可以编写“添加”测试,但后来发现编写“编辑”测试我要么必须调用“添加”测试的代码来创建一个记录,以便我可以编辑它,或者在测试类中做了很多设置,这两个设置都没有特别吸引人. 理想情况下,我想使用或开发集成测试框架,以 我最近一直在针对ASP.Net MVC控制器 *** 作编写一些集成测试,并且由于难以设置为了运行测试而需要存在的测试数据而感到沮丧.

例如,我想测试控制器的“添加”,“编辑”和“删除” *** 作.我可以编写“添加”测试,但后来发现编写“编辑”测试我要么必须调用“添加”测试的代码来创建一个记录,以便我可以编辑它,或者在测试类中做了很多设置,这两个设置都没有特别吸引人.

理想情况下,我想使用或开发集成测试框架,以便以可重用的方式为集成测试添加种子数据,以便安排/行为/断言测试的安排方面可以集中精力安排我特别需要安排的内容我的测试而不是关注自己安排一些参考数据,这些参考数据只与测试下的代码间接相关.

我碰巧使用NHibernate,但我相信任何数据播种功能都应该忽略它,并且能够直接 *** 作数据库; ORM可能会改变,但我总是会使用sql数据库.

我正在使用NUnit,因此设想挂钩测试/ testfixture setup / teardown(但我认为一个好的解决方案可能会转移到其他测试框架).

我在我的主项目中使用FluentMigrator来管理参考数据的模式和种子,因此它很好,但不是必须能够使用FluentMigrator框架在整个解决方案中采用一致的方法.

所以我的问题是,“你如何为C#中的集成测试种下数据库数据?”你直接执行sql吗?你使用框架吗?

解决方法 您可以在sql Server Compact上进行集成测试,您将有一个.sdf文件,您可以连接到它,将文件的路径作为连接字符串.这将更快,更容易设置和使用.

您的集成测试可能不需要数百万行数据.您可以将测试数据插入数据库并将其另存为TestDbOriginal.sdf.

当您运行测试时,只需复制一个’TestDbOriginal.sdf’并处理该副本,该副本已经有数据.如果要测试特定方案,则需要通过调用添加,删除,编辑等方法来准备数据.

当您进行生产或性能测试时,切换回原始服务器版本,无论是sql Server 2008还是其他任何版本.

总结

以上是内存溢出为你收集整理的如何在C#中为数据库数据进行集成测试?全部内容,希望文章能够帮你解决如何在C#中为数据库数据进行集成测试?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1252548.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存