You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django 1.4单测运行过慢无--keepdb支持,除升级硬件外如何优化?

Django 1.4 测试数据库耗时优化方案
  • 自定义测试运行器实现数据库复用逻辑:继承Django 1.4默认的DjangoTestSuiteRunner,重写setup_databases和teardown_databases方法,第一次运行测试时正常创建测试数据库,后续运行直接跳过数据库销毁、重建步骤,仅在模型变更时手动删除旧测试库触发重建即可,可实现和高版本--keepdb参数完全一致的效果。
  • 切换测试数据库为内存数据库:在测试配置的DATABASES项中,将默认数据库的TEST_NAME参数设为:memory:,使用SQLite内存数据库承载测试数据,所有数据库操作都在内存中完成,无需磁盘IO,可大幅降低数据库创建、表结构初始化的耗时。
  • 预生成测试数据库快照:如果必须使用和生产一致的数据库(如MySQL/PostgreSQL),可以将首次创建完成、包含基础测试数据的测试库导出为SQL快照,后续运行测试前直接导入快照初始化,不用重新执行全量迁移、初始数据导入逻辑,能节省90%以上的库初始化时间。
  • 预加载公共测试fixture:将所有测试通用的初始化fixture提前导入到复用的测试数据库中,避免每次运行测试都重复加载fixture的耗时。
  • 裁剪测试初始化逻辑:如果你的单测不需要修改数据库内容,可在自定义测试运行器中跳过事务回滚、表数据重置的步骤,直接复用已有的库数据运行测试。

内容的提问来源于stack exchange,提问作者guettli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:24:00