在Django加速单元测试
我发现执行unittest很慢,尤其是Django中的数据库操作 它经历了创建数据库、表、夹具、测试以及最终销毁它们的整个过程 我甚至花了将近半分钟来做这些事情在Django加速单元测试,django,performance,unit-testing,Django,Performance,Unit Testing,我发现执行unittest很慢,尤其是Django中的数据库操作 它经历了创建数据库、表、夹具、测试以及最终销毁它们的整个过程 我甚至花了将近半分钟来做这些事情 在不考虑机器速度的情况下,有没有其他方法来加速Django中的unittest或加速提示?当我想要运行测试时,我要做的是切换到SQLite。在SQLite中设置测试数据库所需的时间要少得多 您可以通过使用修改后的设置文件轻松完成此操作: $ python manage.py test my_app --settings=test_set
在不考虑机器速度的情况下,有没有其他方法来加速Django中的unittest或加速提示?当我想要运行测试时,我要做的是切换到SQLite。在SQLite中设置测试数据库所需的时间要少得多 您可以通过使用修改后的设置文件轻松完成此操作:
$ python manage.py test my_app --settings=test_settings
或者就我而言
$ python manage.py test my_app --settings=settings.test
当我使用“设置为包”方案时。您可以加速运行它们的测试 看一看。它有许多有用的提示,如:
- 将密码散列函数更改为MD5(对我来说有了巨大的改进)
- 使用更快的内存数据库
- 禁用不需要的应用程序和中间件
DATABASES['default'] = {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': ':memory:'
}