Python 如何修改pytest参数?

Python 如何修改pytest参数?,python,automated-tests,pytest,xdist,Python,Automated Tests,Pytest,Xdist,我发现为此我可以使用PyTest函数PyTest\u load\u initial\u conftests() 但是我不能正确地实现这个示例(参见链接) pytest\u load\u initial\u conftests()甚至没有启动(通过调试查看)。 测试在没有任何参数(一个线程)的情况下正常运行,但我希望使用“-n”参数 我安装了pytest和xdist。 项目中只有两个文件。没有pytest.ini 我做错了什么?请帮忙运行它 conftest.py import pytest i

我发现为此我可以使用PyTest函数PyTest\u load\u initial\u conftests()

但是我不能正确地实现这个示例(参见链接)

pytest\u load\u initial\u conftests()甚至没有启动(通过调试查看)。 测试在没有任何参数(一个线程)的情况下正常运行,但我希望使用“-n”参数

我安装了pytest和xdist。 项目中只有两个文件。没有pytest.ini

我做错了什么?请帮忙运行它

conftest.py

import pytest
import os
import sys


def pytest_addoption(parser):
    parser.addoption('--some_param', action='store', help='some_param', default='')


def pytest_configure(config):
    some_param = config.getoption('--some_param')


def pytest_load_initial_conftests(args):
    if "xdist" in sys.modules:
        import multiprocessing
        num = max(multiprocessing.cpu_count() / 2, 1)
        args[:] = ["-n", str(num)] + args
import inspect
from time import sleep
import os
import pytest


class Test_Run:

    def test_1(self):
        body()

    def test_2(self):
        body()

    def test_3(self):
        body()

    def test_4(self):
        body()

    def setup(self):
        pass

    def teardown(self):
        pass


def body():
    sleep(5)
test_t1.py

import pytest
import os
import sys


def pytest_addoption(parser):
    parser.addoption('--some_param', action='store', help='some_param', default='')


def pytest_configure(config):
    some_param = config.getoption('--some_param')


def pytest_load_initial_conftests(args):
    if "xdist" in sys.modules:
        import multiprocessing
        num = max(multiprocessing.cpu_count() / 2, 1)
        args[:] = ["-n", str(num)] + args
import inspect
from time import sleep
import os
import pytest


class Test_Run:

    def test_1(self):
        body()

    def test_2(self):
        body()

    def test_3(self):
        body()

    def test_4(self):
        body()

    def setup(self):
        pass

    def teardown(self):
        pass


def body():
    sleep(5)

根据
pytest\u load\u initial\u conftests
上的文档:

注意:conftest.py文件不会调用此钩子,仅用于 设置工具插件

也许你发现的那一页不应该提到它


编辑:更新文档url

这不是
-n auto
所做的吗?无论如何,您可能需要
导入xdist
,然后它才会出现在
系统模块中。您可以使用
try:import xdist,ImportError:pass除外,这样导入不会在不存在时停止执行。嘿。此链接不起作用。如果你能更新的话会很有帮助。谢谢。非常感谢您的快速更新。我的荣幸:-)鉴于此,调用
pytest\u load\u initial\u conftests
函数应该放在哪里?