我找不到如何在pytest命令中添加命名命令行参数的方法,因此我可以使用可作为固定装置的自定义参数执行测试。
pytest --my-parameter
def test_something(my_parameter):
...
答案 0 :(得分:0)
为了实现这种行为,应定义pytest_addoption,并使用新的会话级固定装置和pytestconfig固定装置。
# conftest.py
import pytest
def pytest_addoption(parser):
parser.addoption(
"--my-parameter", action="store", default=None,
help=("Parameter description")
)
@pytest.fixture(scope='session')
def my_parameter(pytestconfig):
""" Description of changes triggered by parameter. """
param = pytestconfig.getoption("--my-parameter")
if param is None:
assert False, '--my-parameter parameter must be supplied in order to run test suite.'
return param
# tests.py:
import pytest
def test_something(my_parameter):
...