gpt4 book ai didi

python - 使用 PyTest fixture 而不通过它们

转载 作者:行者123 更新时间:2023-12-04 16:44:57 25 4
gpt4 key购买 nike

我正在使用 PyTest 框架来编写和运行我的测试。
我已经实现了一个具体的记录器:

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 文件中,我编写了将在请求此记录器时调用的函数(创建记录器 fixture )

@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 测试函数中使用它(比如全局变量)

最佳答案

你可以做

@pytest.mark.usefixtures("logger")
def test_logger(other_fixture):

关于python - 使用 PyTest fixture 而不通过它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56556859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com