使用pytest可以单独在特定的测试功能/方法上运行清除代码。我知道我们可以为每个测试功能运行此操作。但是在这里,我想放置一些特定于单个测试功能的清理逻辑。
我可以将清理代码放在测试的结尾。但是,如果测试失败,则将无法进行清理。
答案 0 :(得分:1)
使用清理代码创建固定装置,并通过将固定装置用作测试的参数或使用pytest.mark.usefixtures
装饰器明确标记测试,将其仅注入一个测试中。
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
,因此启动和清除代码将针对其注入的每个函数运行。