【发布时间】:2020-09-22 13:06:46
【问题描述】:
基本的 Java CRUD 应用程序。没什么疯狂的。我们希望相应地测试数据层(因此我们依赖于数据库)。
该项目基于 maven,因此管道会运行构建/运行单元测试,然后相应地删除工件。
我的问题是:使用 Azure Pipelines 处理此问题的最佳做法是什么?我们是否应该运行一个内存数据库,一旦测试完成,我们就可以创建和销毁(所以基本上保持管道不变,并将其作为已经运行的 maven 测试的一部分处理)?这将使我们能够控制我们开始使用的数据并为所有测试创建适当的基线。
在推送到我们每次重建的 docker 容器后,在发布管道中执行此操作会更好吗?
什么是 Azure DevOps(甚至是一般的 DevOps)的“最佳实践”?
【问题讨论】:
-
您可能想查看抽象 Docker 的 Testcontainers 并允许您针对要部署的内容进行测试。
-
您可以尝试使用 azure 数据库服务器并在测试代码中设置连接字符串。或者,您可以创建一个自托管代理并在本地代理机器上设置数据库服务器。两者都将允许您的测试代码访问数据服务器。
标签: java azure azure-devops azure-pipelines