使用生产数据库数据进行单元测试数据库数据的最佳方法?

时间:2018-05-07 23:29:43

标签: c# sql-server unit-testing

我想知道是否有人能告诉我从真实数据库中填充测试数据库中的测试数据的最佳方法? (用于单元测试)

例如。我有一个包含1000个记录的Sql Server数据库。我想在C#测试项目中将这些数据用于测试用例。手动创建数据非常耗时。

我认为最好的方法是生成c#代码,这些代码将在我运行测试时重新创建测试数据库中的数据。但是如何做到这一点呢?或者人们通常只是在这种情况下导出一个大的SQL语句并针对测试数据库执行它?

另一个显而易见的方法是使用生产数据库的副本。我的问题是,数据结构仍在改变......这会导致问题......

我正在使用SqlServer LocalDB,C#。

非常感谢您的任何建议

1 个答案:

答案 0 :(得分:1)

微软(免费)有一个工具,我成功地用来复制少量/中等数量的数据,你可以在这里查看:

https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-2017

如果数据没有太多列,您还可以使用HeidiSQL及其CSV导出导入功能。事实上,这也是免费的。