如何在Django中并行运行测试?

lfa*_*des 26 testing django parallel-processing

在我的Django项目中,我使用sqlite数据库来运行测试.因为它只使用内存,所以它比MySQL快得多,但它仍然不够快.在测试期间,仅使用4个处理器中的一个,并且消耗的内存不多.所以,我想在内存中有4个sqlite数据库来并行运行4个测试.

有没人试过这个?

Ali*_*and 21

从Django 1.9开始,Django可以通过内置的单元测试功能并行运行测试.

Django Docs:https://docs.djangoproject.com/en/1.9/ref/django-admin/#django-admin-option---parallel


小智 9

根据 Django 3.0文档,您可以使用一个--parallel选项。

\n\n
\n

--parallel [N]\n 在单独的并行进程中运行测试。由于现代处理器具有多个内核,因此可以显着更快地运行测试。

\n
\n\n

因此,您可以使用以下命令并行执行测试。

\n\n
python manage.py test --parallel\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

您可以通过将进程数提供为 option\xe2\x80\x99s 值(例如 --parallel=4)或通过设置 DJANGO_TEST_PROCESSES 环境变量来调整进程数。

\n
\n\n

如果您有一个包含相当多测试单元案例的大型 Django 项目,这可以帮助显着减少测试执行时间。

\n