gpt4 book ai didi

python - 如何将 parser.addoption 放在测试模块中,而不是放在 conftest.py 中?

转载 作者:行者123 更新时间:2023-12-01 00:05:41 24 4
gpt4 key购买 nike

我有以下内容

conftest.py:

def pytest_addoption(parser):
parser.addoption('--sopt', action='store', default=None, help='Source Data Storage')

my_test.py:

@pytest.fixture(scope='module', autouse=True)
def sopt(pytestconfig):
return pytestconfig.getoption('sopt')


def test_mtest(sopt):
//pytest code

运行此测试时,它工作正常python3 -m pytest --sopt=aaaaa,但在移动时

def pytest_addoption(parser):
parser.addoption('--sopt', action='store', default=None, help='Source Data Storage')

conftest.pymy_test.py 它不起作用并失败并出现以下错误:

ERROR: usage: __main__.py [options] [file_or_dir] [file_or_dir] [...]
__main__.py: error: unrecognized arguments: --sopt=aaaaa

我不喜欢只包含两行代码的单独文件。

有没有办法将 conftest.py 中的 parser.addoption 放入 my_test.py 并使其正常工作?

最佳答案

没有。引用pytest_addoption钩子(Hook)文档:

Note:

This function should be implemented only in plugins or conftest.py files situated at the tests root directory due to how pytest discovers plugins during startup.

关于python - 如何将 parser.addoption 放在测试模块中,而不是放在 conftest.py 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60009252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com