首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pytest中测试之间的间隔

pytest中测试之间的间隔
EN

Stack Overflow用户
提问于 2017-12-12 18:13:29
回答 3查看 3.1K关注 0票数 2

在pytest中,在测试之间添加间隔是一种常见的做法吗?目前,集成测试失败,但如果单独运行测试,则可以正常工作。

EN

回答 3

Stack Overflow用户

发布于 2018-02-04 20:11:27

如果您想要在模块的每个函数的模块中进行拆卸

代码语言:javascript
运行
复制
import time
def teardown_function(function):   # the function parameter is optional
    time.sleep(3)

如果您希望在类的每个方法的类中都有一个teardown,那么您有两个选择。

  1. 在这里你不能访问被调用的方法:

类TestClass: def teardown(自身):time.sleep(1)

如果需要访问

  1. ,请执行以下操作:

类方法:定义方法(self,time.sleep(1) ):print(TestClass)teardown_method

如果您想要在类之后调用一次的teardown

代码语言:javascript
运行
复制
@classmethod
def teardown_class(cls):
    print(cls)
    time.sleep(2)

对于设置,所有这些方法都以相同的方式工作。你可以看到the documentation。在更复杂的实现中使用fixtures

票数 3
EN

Stack Overflow用户

发布于 2021-04-07 02:22:50

您可以在pytest中使用autouse fixtures在测试用例之间自动休眠:

代码语言:javascript
运行
复制
@pytest.fixture(autouse=True)
def slow_down_tests():
    yield
    time.sleep(1)

此fixture将自动用于所有测试用例,并将生成测试用例的执行,因此它可以正常运行,但当测试完成时,执行将返回到此fixture并运行睡眠。

票数 3
EN

Stack Overflow用户

发布于 2018-01-02 21:10:03

您可以在每次测试的teardown方法中插入time.sleep(1),即:

代码语言:javascript
运行
复制
class TestClass:
    def setup(self):
        pass

    def teardown(self):
        time.sleep(1) # sleep for 1 second
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47770037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档