4

您好,我知道可以通过--parallel标志在 django 中并行运行测试,例如。python manage.py test --parallel 10. 它确实加快了我正在工作的项目中的测试,这真的很棒。但是公司的开发人员共享不同的硬件设置。因此,理想情况下,我想将并行参数放入其中,./app_name/settings.py以便每个开发人员在测试中使用至少 4 个线程或多处理库提供的内核数量。

我知道我可以制作另一个脚本,比如说run_test.py我在其中使用--parallel.

总结一下 - 我的问题是:我可以在 django 应用程序的设置中放置并行测试运行的数量吗?如果答案是肯定的。还有第二个问题 - 命令行参数 (X)manage.py --parallel X会覆盖来自 './app_name/settings' 的设置

任何帮助深表感谢。

4

1 回答 1

4

对此没有设置,但您可以覆盖该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仍将覆盖默认值。

于 2017-06-06T14:08:40.873 回答