是否可以在 pytest 的命令行中添加多个选项?我看到我可以将pytest_addoption
钩子添加到 conftest.py 文件中,但我想知道如何添加多个选项。
问问题
18217 次
2 回答
13
pytest_addoption
您可以使用钩子指定任意多个命令行选项。
根据pytest 钩子文档:
参数: parser – 要添加命令行选项,请调用 parser.addoption(...)。要添加 ini 文件值,请调用 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 文件。
于 2014-03-24T13:47:20.913 回答
3
您可以通过这种方式添加选项,如下所示:
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
于 2019-10-17T04:54:34.410 回答