默认情况下,Django 1.4在数据库级别自动提交关闭的情况下运行。我最近尝试打开此设置,它大大降低了我的测试套件的速度。
DATABASES['default']['OPTIONS'].update({'autocommit': True})
我的理解是,现在默认情况下,每次对create
,save
等的调用都会打开一个事务并发出commit语句。所有这些额外事务的成本是否足以解释单元测试的速度? django TestCase
交易行为如何与此有关(在交易中操作每个测试并在完成后回滚)?我们是否应该期望单元测试中的性能下降能够反映出生产中视图的性能?
答案 0 :(得分:0)
缓慢的单元测试是由于使用setUp
创建的每个对象打开和提交事务会产生额外的费用,并且没有反映出实时环境中性能的下降。