【问题标题】:Visual Studio Database Project - Generating test data on top of reference dataVisual Studio 数据库项目 - 在参考数据之上生成测试数据
【发布时间】:2012-09-26 10:57:39
【问题描述】:

我正在向现有的 Visual Studio 2010 数据库项目添加持续集成测试。现在我们有一个构建,它部署了一个“空”数据库 [dbo].[MyDb],其中仅包含所需的参考数据,例如语言环境和国家/地区。现在,这是使用包含在部署后 sql 构建任务中运行的插入语句的 sql 文件执行的。

我现在想添加另一个测试部署构建,它将部署到与 [dbo].[MyDb].[Test] 相同的暂存服务器上的另一个数据库,具有相同的参考数据,但生成的测试数据将具有外键到参考数据。然后针对它运行数据库集成测试。因为每次测试都需要恢复状态,所以需要尽可能快。

从我目前为止的尝试来看,要使用 Visual Studio 的数据生成计划生成测试数据,我似乎需要将参考数据获取到数据绑定生成器可以读取的表单,以便它可以生成测试以保持参照完整性的方式提供数据。

我能想到的可能选项是:

  • 以某种方式获取数据生成计划以读取参考 sql 文件?
  • 将参考 sql 文件更改为 csv 文件并将原始构建更改为进行批量插入
  • 组合构建,以便始终首先部署 MyDb 数据库,并将其设置为测试数据库的顺序数据绑定生成器源。

有没有人有更好的方法或可以指出一个好的指南?

我不是构建脚本方面的专家,因此希望尽可能多地利用工具。我想将其保留为 Visual Studio 数据库项目,但我还拥有 RedGate 的 SQL 工具的许可证,如果这样可以使测试更容易的话。

【问题讨论】:

    标签: sql testing continuous-integration database-project


    【解决方案1】:

    似乎数据库项目仍然不能很好地支持处理参考数据。巴克莱山 this post 上的 cmets 证实了这一点。

    目前,我选择了拥有参考数据库并将其与顺序数据绑定生成器一起使用。由于它不会经常更改,我只是手动部署它,并且没有像我在其他地方看到的那样拥有一个完整的单独项目。

    希望在某个时候将参考数据处理添加到 SQL Server Data Tools 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多