gpt4 book ai didi

mysql - 测试后恢复 mysql 数据库的状态

转载 作者:行者123 更新时间:2023-11-29 02:02:59 26 4
gpt4 key购买 nike

我在一个有很多单元测试的网站上工作,每个单元测试都需要数据库处于某种“默认”状态。没错,我在每次测试时都会破坏数据库,并使用 SQL 脚本加载默认状态。而且速度很慢。所以我认为,如果我可以在每次测试开始时保存默认状态并将数据库恢复到默认状态,那将会很有用。这可能吗 ?如果没有,我为什么要加快这个过程?就知道我删除了整个数据库并重新创建了它。如果我只删除行,那不会提高性能吗?

最佳答案

您可以在所有测试之前将数据库设置为默认状态,然后将每个测试包装在一个事务中。测试完成后,您只需回滚事务即可。

当您想同时运行测试时,这种方法特别适用,因为它们不依赖于任何共享状态。

但是有些用例不适合。例如,当有多个进程访问涉及测试场景的数据库时,这在集成测试中很常见。

这种情况的真实示例:测试运行器(进程#1)在数据库中设置数据,后台运行的 phantomjs 向应用服务器(进程#2)发出请求。测试运行器和应用服务器不能共享一个数据库事务。

关于mysql - 测试后恢复 mysql 数据库的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11627566/

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