Pytest测试框架中,setup和teardown函数的作用及使用方法 您所在的位置:网站首页 单元测试框架作用和意义 Pytest测试框架中,setup和teardown函数的作用及使用方法

Pytest测试框架中,setup和teardown函数的作用及使用方法

#Pytest测试框架中,setup和teardown函数的作用及使用方法| 来源: 网络整理| 查看: 265

作为一名Python开发人员,您一定知道Pytest是一个广泛使用的Python测试框架。

它具有易用性和灵活性,可以帮助您快速编写测试用例,并且能够支持包括单元测试、集成测试、功能测试等多种测试类型。而其中,setup和teardown函数是Pytest提供的两个非常重要的特性。

setup和teardown函数可以分别在每个测试用例之前和之后执行,以确保测试环境的准备和清除工作。通过合理使用这两个函数,您可以有效地提高测试效率,并且避免测试用例之间的相互干扰。

本篇文章将详细介绍setup和teardown函数的作用及使用方法,让您轻松掌握这两个关键特性,为您的测试工作注入动力!

Pytest - setup 和 teardown

执行用例肯定有些需要前置条件或后置操作,例如前置的用户登陆,后置的清理数据等操作;

unittest提供了两种前置(setup、setupClass)和两种后置(teardown、teardownClass);

相比之下,pytest 提供了十种 setup 和 teardown 方法:

模块级别:setup_module、teardown_module

函数级别:setup_function、teardown_function,不在类中的方法

类级别:setup_class、teardown_class

方法级别:setup_method、teardown_method

用例级别:setup、teardown

test_py.py

import pytest def setup_module(): print("\n!!!! setup_module > 整个.py模块开始前只执行一次:打开浏览器/获取cookie !!!!") def teardown_module(): print("!!!! teardown_module > 整个.py模块结束后只执行一次:关闭浏览器 !!!!") def setup_function(): print("\n### setup_function > 每个函数级别用例开始前都执行 ###") def teardown_function(): print("### teardown_function > 每个函数级别用例结束后都执行 ###") def test_one(): print("test case 1") def test_two(): print("test case 2") class TestCase(): def setup_class(self): print("\n^^^ setup_class > 整个测试类开始前只执行一次 ^^^") def teardown_class(self): print("^^^ teardown_class > 整个测试类结束后只执行一次 ^^^") def setup_method(self): print("\n=== setup_method > 类里面每个用例执行前都会执行 ===") def teardown_method(self): print("=== teardown_method > 类里面每个用例结束后都会执行 ===") def setup(self): print("--- setup > 类里面每个用例执行前都会执行 ---") def teardown(self): print("--- teardown > 类里面每个用例结束后都会执行 ---") def test_three(self): print("test case 3") def test_four(self): print("test case 4") if __name__ == '__main__': pytest.main(["-q", "-s", "-ra", "test_py.py"])

执行结果如图所示各级别(讲解顺序从上往下,级别从低到高):

黄色框:用例级别 【setup、teardown】

橙色框:方法级别【setup_method、teardown_method】

蓝色框:类级别【setup_class、teardown_class】

绿色框:函数级别【setup_function、teardown_function】

红色框:模块级别【setup_module、teardown_module】

结语

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

补充:

如果有需要软件测试跟教学视频的小伙伴,记得关注我私❤【资料】哦



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有