我发现执行unittest的速度很慢,尤其是Django中的数据库操作。
它经历了创建数据库,表格,固定装置,然后测试并最终销毁它们的整个过程。
我甚至花了差不多半分钟来做这些事情。
在不考虑机器速度的情况下,有没有其他方法可以加速Django的单元测试或任何加速技巧?
答案 0 :(得分:2)
当我想运行测试时,我所做的就是切换到SQLite。在SQLite中设置测试数据库所需的时间要少得多。
您可以使用修改后的设置文件轻松完成此操作:
$ python manage.py test my_app --settings=test_settings
或者就我而言,
$ python manage.py test my_app --settings=settings.test
因为我使用“设置为包”方案。
答案 1 :(得分:2)
您可以加快在sqlite db stored in memory
中运行测试的速度 DATABASES['default'] = {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': ':memory:'
}
答案 2 :(得分:0)
看看this article。它有许多有用的提示,如: