【发布时间】:2021-09-11 16:20:12
【问题描述】:
如果我们有一套端到端的自动化测试,目标是每个测试都从数据库中的相同(初始)数据集开始,以获得可靠的结果。
有没有人找到任何好的解决方案来快速恢复测试执行期间在 SQL Server 数据库中所做的更改?
总是有可能截断所有表并通过 SQL 重新导入初始数据。但我在想是否有更优雅的东西。例如恢复为快照。
有人试过吗
RESTORE DATABASE FROM DATABASE_SNAPSHOT
SQL Server 功能?速度够快吗?它的速度取决于创建快照时数据库中的数据量,还是取决于自创建快照以来进行了多少更改?
非常感谢您对此提出任何意见。
【问题讨论】:
-
我最终使用了 Respawn library - 由 AutoMapper 的 Jimmy Bogard 创建 - 来处理这种情况 - 看看吧!更深入的解释见How Respawn works
标签: sql sql-server database automated-tests database-restore