gpt4 book ai didi

postgresql - 使用 Docker 进行集成测试后恢复数据库状态?

转载 作者:IT老高 更新时间:2023-10-28 21:26:18 25 4
gpt4 key购买 nike

我们正在使用 PostgreSQL 以及部署到 JBoss 的 EAR。在构建过程中,我们有一个开发数据库转储,然后用于集成测试:部署了特殊的工件,测试使用 http 客户端与应用程序通信。

目前,数据库状态在测试运行期间会发生变化,因此我们只能为每个修改它的测试添加额外的内容,因此没有测试会相互依赖。这需要大量的时间和耐心,因为这样的测试甚至取决于记录的顺序。

有没有办法制作数据库快照,以便在每次测试运行后使用合理数量的资源恢复它? Docker 能帮上忙吗?或者其他方式?

H2 不是办法,因为我们使用了一些 PostgreSQL 特有的特性。测试可能跨越多个事务,所以我猜回滚也无济于事。

最佳答案

使用 Docker 的一种直接方法是将数据库快照作为一个卷进行重置,然后挂载到测试运行的开始。

您可以在测试运行之前对这些数据进行处理(或者拥有整个启动数据库配置的 tar 文件或其他内容),然后启动您的 PostgreSQL 测试数据库,将测试数据安装为一个卷,并且您的 PostgreSQL 指向这个, 对于每个测试。

关于postgresql - 使用 Docker 进行集成测试后恢复数据库状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40092535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com