Как добавить параметр командной строки в команду pytest - PullRequest
1 голос
/ 29 мая 2020

Я не могу найти, как добавить именованный параметр командной строки в команду pytest, поэтому я могу выполнять тесты с настраиваемым параметром, доступным как приспособление.

pytest --my-parameter

def test_something(my_parameter):
    ...

1 Ответ

0 голосов
/ 29 мая 2020

Для выполнения sh такого поведения должен быть определен 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):
    ...
...