python - Python 内置夹具
问题描述
我正在尝试运行使用以下功能的 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”的夹具,所以我认为它是一个内置夹具。然而,我在文档中搜索了它,但我找不到“请求”内置夹具:https : //docs.pytest.org/en/latest/builtin.html 任何人都可以对此有所了解(内置?)夹具?谢谢!
解决方案
request
夹具有助于获取有关上下文的信息。
请求夹具最常见的用法是addfinalizer
和config
如果您只需要一个teardown
功能,您可以简单地使用 ayield
并摆脱request
夹具。
@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()
推荐阅读
- macos - 如何确定我的单声道应用程序是否在 Mac 环境中运行?
- python - django-q 任务队列:失败的任务会一直处理下去
- swift - Xcode 11 及其新框架(如 SwiftUI)是否需要更改为 .gitignore?
- android - etc2 纹理不适用于 OpenGL ES 3.2
- python - 如何在pyQt5中获取ProgressBar的当前值?
- mysql - 破解表达式
- sql - Sql Server 加载时间过长
- python - 为什么当数据帧上存在混合数据类型时,我不能使用 loc 分配一个值?即有些列有字符串,其他列有数字
- reactjs - 如何通过反应检查字符串是否包含数字
- sql-server - 之前如何用 IF 条件让 SQL 将行作为一个组处理而不是一个接一个?