【问题标题】:Recreate Azure SQL Database before E2E test在 E2E 测试之前重新创建 Azure SQL 数据库
【发布时间】:2018-04-29 12:17:40
【问题描述】:

我有一个带有 Azure SQL Server 的应用程序。我有一个测试环境,我在其中部署应用程序以进行端到端测试。我想在测试之前将数据库重置为某个状态。我有一个具有该状态的 bacpac 文件。我的目标是使用 ci 工具(appveyor)来做到这一点。我知道我可以使用 azure powershell api 删除整个数据库。我应该删除数据库还是清空它?还是我认为这完全错误?

【问题讨论】:

    标签: powershell azure-sql-database end-to-end appveyor


    【解决方案1】:

    您可以在测试前使用 Powershell 恢复 BACPAC,并在测试后删除数据库。 Azure 文档中提供了一个示例:https://docs.microsoft.com/en-us/azure/sql-database/scripts/sql-database-import-from-bacpac-powershell

    一个可能执行得更快的选项是直接对数据库运行 T-SQL 以在测试前设置初始状态并在测试后清空数据库。

    但是,执行完整的 BACPAC 恢复和退出更容易设置,因为它不依赖于它在持续时间内声称的预先存在的数据库,因此您可以并行运行多个测试运行运行。

    编辑:将链接更改为 en-us 而不是 nl-nl

    【讨论】:

    • 感谢示例链接! (我不得不删除 URL 中的荷兰语翻译,因为我说瑞典语/英语)。我会放弃整个数据库,因为它可能更容易,即使它更慢。
    • 也是我推荐的方法,因为它可以让您扩展测试运行
    • 数据库初始状态设置实际上是e2e测试的一部分,同样适用于用例数据设置和post数据验证,你试过了吗:github.com/viant/endly
    【解决方案2】:

    另一种选择是将 Azure 数据库作为 docker 服务运行,这可能会简化您的初始数据库设置。

    【讨论】:

      猜你喜欢
      • 2016-04-09
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多