Не удается получить pytest для понимания аргументов командной строки в настройках
Поэтому я пытался заставить pytest запускать тесты селена в разных средах на основе некоторого аргумента командной строки. Но он продолжает выдавать эту ошибку:
TypeError: setup_class() takes exactly 2 arguments (1 given)
Кажется, это понимание того, чтоsetup_class
принимает 2 аргумента, ноhost
не передается. Вот's код для:setup_class
def setup_class(cls, host):
cls.host = host
А вот и файл conftest.py:
def pytest_addoption(parser):
parser.addoption("--host", action="store", default='local',
help="specify the host to run tests with. local|stage")
@pytest.fixture(scope='class')
def host(request):
return request.config.option.host
Что странно в том, чтоhost
это видно по функциям (поэтому, если я сделаю функцию test_function и передам хост в качестве параметра, он получит его очень хорошо), это простоsetup
светильники, которые не работают.
Я оглянулся и нашел это,pytest - использовать funcargs внутри setup_module но это неКажется, что он работает (и он устарел с 2.3.
Кто-нибудь знает, что яя делаю неправильно? Использование py.test 2.3.2.
Спасибо