python - 为什么 django 1.4 中的自动提交会减慢单元测试的速度?
问题描述
Django 1.4 默认在数据库级别自动提交设置关闭的情况下运行。我最近尝试打开此设置,它大大减慢了我的测试套件。
DATABASES['default']['OPTIONS'].update({'autocommit': True})
我的理解是,现在对 等的每次调用create
默认情况下都会save
打开一个事务并发出一个提交语句。所有这些额外事务的成本是否足以解释单元测试的放缓?django 事务行为如何TestCase
参与其中(在事务中操作每个测试并在完成后回滚)?我们是否应该期望单元测试中的性能下降反映生产中视图的性能?
解决方案
单元测试速度变慢是由于打开和提交事务的额外成本,每个对象创建为setUp
.
推荐阅读
- jenkins - 从目录中将 jenkins 安装到 ICP(IBM Cloud Private)中后,它不可用
- android - 如何使用 javafxports 使 Android 应用程序全屏显示?
- asp-classic - 如何使用 ADO 命令和 Oracle 存储过程检索输出参数
- content-management-system - Taxonomy in multilingual environment
- google-chrome - 如何从 Chrome API 获取归档历史记录
- javascript - Edge mediaDevices 无效参数
- c# - 除了使用 ssis 将数据从 sql server 获取到 oracle 之外,还有其他方法吗?
- visual-studio-code - 为什么 VS Code 会破坏我的 Markdown 防护代码块?
- regex - 如何在 jmeter 中创建正则表达式提取器
- linux - 我正在尝试创建一个 payara 集群,但在创建远程节点期间出现错误