[英]Django testing wastes too much time on test database creating
我们试图对一个旧的,大型项目进行测试,该项目在数据库中有500多个表,并且在数据库创建(在我的RMBP上超过1个小时)和数据库迁移上浪费了太多时间。
我们使用PostgreSQL作为数据库,导致一些有关服务的GIS需要它,因此很难使用SQLite来替换它。
如何减少测试准备时间?
在某个时候,我最终创建了一个事务管理中间件,该中间件将拦截事务调用,以便所有测试都在事务中运行,然后该事务在最后回滚。
另一种选择是在每个测试开始时加载一个二进制数据库转储,然后在测试之间删除并重新创建数据库。 创建良好的数据库后,使用xtrabackup创建它的转储。 然后,在每次测试设置功能中,删除并创建数据库,然后使用xtrabackup加载转储。 由于它是二进制转储,因此将很快加载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.