为了帮助,这是我的环境:
- Visual Studio 2010 和 c#
- 带有 Sql 管理工作室的 Sql Server 2008 R2
- 单元
我正在创建许多将与数据库交互的集成测试。每个测试都必须有一个处于非常特定状态的数据库。我不想使用 ORM 或直接使用 Sql Management Studio 插入数据。
我想要的是几个结构与 VMware 快照相同的 sql 脚本。
例如:
--> [主脚本,系统表如映射到枚举的表].sql
-- --> [一些表中的几行].sql
-- -- --> [其他表中的其他几行].sql
-- --> [其他测试的几行].sql
-- -- --> [其他几行用于处理其他情况].sql
使用这种类型的结构,我将能够回滚到特定版本的快照以将数据库设置为特定状态,然后在结构中创建另一个快照分支。
在每次测试之前,我都会清理数据库中的所有表,然后执行特定的 sql 脚本。
这是与数据库进行集成测试的好方法吗?
是否存在执行此类 sql 脚本结构的工具?
你有最佳实践清单吗?
如果我想做什么不是一个好主意,那么进行此类测试的最佳架构和方法是什么?
非常感谢。