【发布时间】:2021-06-21 15:50:49
【问题描述】:
我有一个 Microsoft Azure SQL 数据库 项目。我还有一个 Python3.9 项目,它使用unittest 对该数据库项目进行单元测试。我在 YAML 中定义了一个 Azure DevOps 构建管道,它针对开发集成环境运行单元测试。
我不想在运行测试之前将更改发布到开发集成环境。如果您认为这是错误的方法,我会考虑您的论点。
我想“虚拟地”测试更改。我想将新对象部署到临时临时数据库实例。它必须等同于 Azure 数据库实例。执行完测试后,我想清除所有内容。由于计费,我不想为此在 Azure 中部署数据库,但如果我使用无服务器实例,这不会有问题。
有什么想法吗?
【问题讨论】:
-
关于术语的重要说明:如果您的测试与数据库交互,则它们不是单元测试。它们是集成或系统测试。
-
@Daniel Mann 这是一个数据项目(不是全栈)。目的是测试函数和过程行为是否一致。
-
SQL Server 2019 与 Azure SQL DB 相差不大,因此如果您有足够的 RAM,您可以针对本地实例、Hyper-V VM 或 Docker 容器进行测试。否则,您的无服务器想法也不错。
-
@wBob 我也在想同样的事情。也许有启用自动更新的 2019+ 本地实例。或者有一个更新时间表来准确跟踪更新发生的时间(类似......)。
-
如果你不使用 Azure SQL DB 中的任何功能而不是 2019 年,则可以使用。
标签: azure-sql-database python-unittest azure-devops-pipelines