如何在pytest config[pytest_addoption]中指定多个选项

2024-04-24 14:52:41 发布

您现在位置:Python中文网/ 问答频道 /正文

出于好奇,是否可以在pytest的命令行中添加多个选项? 我看到conftest.py有一个pytest_addoption,但是我想知道如何添加多个选项。 如果有人有建议。。。。我到处找,但找不到怎么做。。。 谢谢!


Tags: 命令行pypytest选项建议conftestaddoption
2条回答

通过这种方式可以添加选项,如下所示:

def pytest_addoption(parser):
    print('conftest method')
    parser.addoption("--hostip", action = "store", default = "127.0.0.1", help ="host ip address")
    parser.addoption("--port", action="store", default="5000", help="port")

@pytest.fixture
def get_param(request):
    config_param = {}
    config_param["host"] = request.config.getoption("--hostip")
    config_param["port"] = request.config.getoption("--port")
    return config_param

对于跑步,您可以使用:

pytest -s <filename> --hostip=<value> --port=<value>

希望有帮助。

可以使用pytest_addoption钩子指定任意多个命令行选项。

根据pytest hook documentation

Parameters: parser – To add command line options, call parser.addoption(...). To add ini-file values call parser.addini(...).

pytest_addoption钩子传递给一个parser对象。您可以通过多次调用parser.addoption(...)来添加任意数量的命令行选项。

因此,添加两个参数的示例非常简单:

def pytest_addoption(parser):
    parser.addoption('--foo', action='store_true', help='Do foo')
    parser.addoption('--bar', action='store_false', help='Do not do bar')

和其他py.test钩子一样,这需要进入conftest.py文件。

相关问题 更多 >