gpt4 book ai didi

python - pytest - 如何在特定测试后执行函数

转载 作者:行者123 更新时间:2023-12-04 08:18:14 29 4
gpt4 key购买 nike

我在几个类(class)组织了一些测试。我已经有一个 scope=class 的测试 fixture ,这样它就可以在测试套件(类)之前运行。但是,我需要在一些特定的测试之后执行一个函数。假设我在一个类中有 100 个测试,我已经有一个固定装置可以在这些测试之前执行一个函数,但我还想在 2-3 个这些测试之后运行一个函数。

实现该目标的最佳方法是什么?可以用固定装置或其他任何东西来完成吗?

最佳答案

首先,编写一个将在测试完成后执行的 fixture :

@pytest.fixture
def foo():
yield
print("do stuff after test")

文档:Fixture finalization / executing teardown code

现在用 usefixtures("foo") 标记每个应该调用这个 fixture 的测试:

@pytest.mark.usefixtures("foo")
def test_spam():
...

文档:Use fixtures in classes and modules with usefixtures

关于python - pytest - 如何在特定测试后执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65613665/

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