Pytest在模块/类/方法/功能级别上支持classical xunit style setup and teardown(除pytests dependency injection mechanism之外)。模块中的功能级别setup and teardown functions are invoked for every test function。如何为特定测试功能定义设置和拆卸功能?
答案 0 :(得分:0)
import pytest
@pytest.fixture
def resource():
resource = foo()
yield resource
resource.cleanup()
def test_feature(resource):
assert bar(resource) == 27
使用fixture进行设置和清理是问题评论中建议的try...finally
更好的方法,即使没有代码重用目标:您的单个测试专注于断言适当的条件,而不是资源清理。