出于好奇,是否可以在pytest的命令行中添加多个选项? 我看到conftest.py有一个pytest_addoption,但我想知道如何添加多个选项。 如果有人有建议......我四处寻找,但无法找到如何做到这一点...... 谢谢!
答案 0 :(得分:8)
您可以使用pytest_addoption
挂钩指定任意多个命令行选项。
参数: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文件。
答案 1 :(得分:0)
您可以通过以下方式添加选项:
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>
希望有帮助。