我正在向现有的 Visual Studio 2010 数据库项目添加持续集成测试。现在我们有一个构建,它部署了一个“空”数据库 [dbo].[MyDb],其中仅包含所需的参考数据,例如语言环境和国家/地区。现在,这是使用包含在部署后 sql 构建任务中运行的插入语句的 sql 文件执行的。
我现在想添加另一个测试部署构建,它将部署到与 [dbo].[MyDb].[Test] 相同的暂存服务器上的另一个数据库,具有相同的参考数据,但生成的测试数据将具有参考的外键数据。然后针对它运行数据库集成测试。因为每次测试都需要恢复状态,所以需要尽可能快。
从我到目前为止的尝试来看,要使用 Visual Studio 的数据生成计划生成测试数据,似乎我需要将参考数据获取到数据绑定生成器可以读取的表单,以便它可以在保持参照完整性的方式。
我能想到的可能选项是:
- 以某种方式获取数据生成计划以读取参考 sql 文件?
- 将参考 sql 文件更改为 csv 文件并将原始构建更改为进行批量插入
- 组合构建,以便始终首先部署 MyDb 数据库,并将其设置为测试数据库的顺序数据绑定生成器源。
有没有人有更好的方法或可以指出一个好的指南?
我不是构建脚本方面的专家,所以想尽可能多地利用工具。我想将事物保留为 Visual Studio 数据库项目,但我也拥有 RedGate 的 SQL 工具的许可证,如果这样可以使测试更容易。