您好我知道可以通过--parallel
标志并行运行django中的测试,例如。 python manage.py test --parallel 10
。它真正加快了我正在努力的项目中的测试速度,真正的好处。但公司的开发人员共享不同的硬件设置。理想情况下,我想在./app_name/settings.py
中添加并行参数,以便每个开发人员在测试中使用至少4个线程或多处理lib提供的核心数。
我知道我可以制作另一个脚本,让我说run_test.py
我使用--parallel
,但我很乐意进行并行测试'隐形'
总结一下 - 我的问题是:我可以在django app的设置中放置多个并行测试运行吗?
如果答案是肯定的。还有第二个问题 - 命令行参数(X)manage.py --parallel X
会覆盖' ./ app_name / settings'
非常感谢任何帮助。
答案 0 :(得分:3)
没有此设置,但您可以覆盖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
仍将覆盖默认值。