在 setting.py 中设置 Django 并行测试
Setting up django parallel test in setting.py
你好,我知道可以通过 --parallel
标志在 django 中并行 运行 测试,例如。 python manage.py test --parallel 10
。它确实加快了我正在从事的项目的测试速度,这真是太好了。但是公司的开发人员共享不同的硬件设置。所以理想情况下,我想在 ./app_name/settings.py
中放置并行参数,以便每个开发人员在测试中至少使用 4 个线程或多处理库提供的内核数。
我知道我可以制作另一个脚本让我们说 run_test.py
我在其中使用 --parallel
,但我很想进行并行测试 'invisible'.
总而言之——我的问题是:我可以在 django 应用程序的设置中放置并行测试的数量 运行s 吗?
如果答案是肯定的。还有第二个问题 - 命令行参数 (X) manage.py --parallel X
会覆盖 './app_name/settings'
中的设置吗
非常感谢任何帮助。
没有针对此的设置,但您可以覆盖 test
命令以设置不同的默认值。在您安装的一个应用程序中,创建一个 .management.commands
子模块,并添加一个 test.py
文件。在那里你需要继承旧的测试命令:
from django.conf import settings
from django.core.management.commands.test import Command as TestCommand
class Command(TestCommand):
def add_arguments(self, parser):
super().add_arguments(parser)
if hasattr(settings, 'TEST_PARALLEL_PROCESSES'):
parser.set_defaults(parallel=settings.TEST_PARALLEL_PROCESSES)
这为 --parallel
标志添加了一个新的默认值。 运行 python manage.py test --parallel=1
仍将覆盖默认值。
你好,我知道可以通过 --parallel
标志在 django 中并行 运行 测试,例如。 python manage.py test --parallel 10
。它确实加快了我正在从事的项目的测试速度,这真是太好了。但是公司的开发人员共享不同的硬件设置。所以理想情况下,我想在 ./app_name/settings.py
中放置并行参数,以便每个开发人员在测试中至少使用 4 个线程或多处理库提供的内核数。
我知道我可以制作另一个脚本让我们说 run_test.py
我在其中使用 --parallel
,但我很想进行并行测试 'invisible'.
总而言之——我的问题是:我可以在 django 应用程序的设置中放置并行测试的数量 运行s 吗?
如果答案是肯定的。还有第二个问题 - 命令行参数 (X) manage.py --parallel X
会覆盖 './app_name/settings'
非常感谢任何帮助。
没有针对此的设置,但您可以覆盖 test
命令以设置不同的默认值。在您安装的一个应用程序中,创建一个 .management.commands
子模块,并添加一个 test.py
文件。在那里你需要继承旧的测试命令:
from django.conf import settings
from django.core.management.commands.test import Command as TestCommand
class Command(TestCommand):
def add_arguments(self, parser):
super().add_arguments(parser)
if hasattr(settings, 'TEST_PARALLEL_PROCESSES'):
parser.set_defaults(parallel=settings.TEST_PARALLEL_PROCESSES)
这为 --parallel
标志添加了一个新的默认值。 运行 python manage.py test --parallel=1
仍将覆盖默认值。