首页 > 解决方案 > 为什么 django 1.4 中的自动提交会减慢单元测试的速度?

问题描述

Django 1.4 默认在数据库级别自动提交设置关闭的情况下运行。我最近尝试打开此设置,它大大减慢了我的测试套件。

DATABASES['default']['OPTIONS'].update({'autocommit': True})

我的理解是,现在对 等的每次调用create默认情况下都会save打开一个事务并发出一个提交语句。所有这些额外事务的成本是否足以解释单元测试的放缓?django 事务行为如何TestCase参与其中(在事务中操作每个测试并在完成后回滚)?我们是否应该期望单元测试中的性能下降反映生产中视图的性能?

标签: pythondjangodatabasepostgresqlunit-testing

解决方案


单元测试速度变慢是由于打开和提交事务的额外成本,每个对象创建为setUp.


推荐阅读