gpt4 book ai didi

python - 如何使用 pytest 仅为特定测试运行清理代码?

转载 作者:太空宇宙 更新时间:2023-11-04 04:07:29 26 4
gpt4 key购买 nike

使用 pytest 有一种方法可以单独在特定的测试函数/方法上运行清理代码。我知道我们可以这样做来运行每个测试函数。但在这里我想放置一些特定于单个测试函数的清理逻辑。

我可以把清理代码放在测试的最后。但如果测试失败,则不会进行清理。

最佳答案

使用您的清理代码创建一个 fixture ,并通过将 fixture 用作测试的参数或通过使用 pytest.mark.usefixtures 显式标记测试,将其仅注入(inject)到一个测试中装饰器。

import pytest

@pytest.fixture
def my_cleanup_fixture():
# Startup code
...
yield
# Cleanup code
...

@pytest.mark.usefixtures('my_cleanup_fixture')
def test_with_special_cleanup():
pass

my_cleanup_fixture 默认具有 function 作用域,因此启动和清理代码将为它注入(inject)的每个函数运行。

关于python - 如何使用 pytest 仅为特定测试运行清理代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56997702/

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