Я использую PyTest Framework для написания и запуска своих тестов.
Я реализовал конкретный логгер:
class Logger(object):
class LogFormats:
...
def __init__(self, testname ,setup ,silent=True):
"""
creating concrete logger for pytest.
the logger will create a file for the test in specific test directory in quali FS and will
write to this file all test log output (colored).
:param: testname: test name - recieved from pytest fixtures (command line parameters)
:param: setup: test setup - recieved from pytest fixtures (command line parameters)
:param: silent: log test in silent mode (info only) or not silent mode (everything is logged)
:param: root_password: password for root user
"""
....
...
и в файле conftest.py я написал функцию, которая будет вызываться приэтот регистратор будет запрошен (создание устройства регистрации)
@pytest.fixture(scope="module",autouse=True)
def logger(request):
setup = request.config.getoption('--setupname')
logger = Logger(testname=request.node.name, setup=setup)
return logger
Теперь мой вопрос: как сделать этот конкретный регистратор глобальным, используя pytest?
То есть я не хочу передавать его в качестве аргументак тестовой функции, подобной этой:
def test_logger(other_fixture,logger):
, но вы все равно сможете использовать ее внутри test_logger
тестовой функции (например, глобальной переменной)