Python内置装置

Python内置装置,python,pytest,Python,Pytest,我正在尝试运行使用以下函数的pytest: def storage_class(request): def fin(): sc.delete() request.addfinalizer(fin) logger.info("Creating storage") data = {'api_version': 'v1', 'kind': 'namespace'} # data is ususally loaded from yaml te

我正在尝试运行使用以下函数的pytest:

def storage_class(request):

    def fin():
        sc.delete()

    request.addfinalizer(fin)

    logger.info("Creating storage")
    data = {'api_version': 'v1', 'kind': 'namespace'}
    # data is ususally loaded from yaml template
    sc = OCS(**data)
    return sc
我在项目中找不到任何名为request的fixture,因此我假设它是一个内置fixture。然而,我在文档中搜索了它,但我找不到请求内置夹具: 有人能解释一下这个建筑吗?固定装置 谢谢

请求fixture有助于获取有关上下文的信息

请求fixture最常见的用法是addfinalizer和config

如果您只需要一个拆卸功能,您可以简单地使用yield并去掉request fixture


谢谢你的澄清!
@pytest.fixture()
def storage_class():

    logger.info("Creating storage")
    data = {'api_version': 'v1', 'kind': 'namespace'}
    sc = OCS(**data)
    yield sc

    # Any code after yield will give you teardown effect
    sc.delete()