作为一名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】

结语

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

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


补充:

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

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

  1. pytest测试框架系列 - setup和teardown的详细讲解

    简介 前面使用过unittest的都知道,setup和teardown是用来处理用例的前置工作和清理工作,其中还有setupclass和teardownclass是保证执行所以的用例都只执行1次前置和 ...

  2. 九、Pytest框架 — Pytest框架的setUp()和tearDown()函数

    ###文章内容有配套的学习视频和笔记都放在了文章末尾### 1.setUp()和tearDown()函数介绍 之前学过Unittest测试框架,知道前置setup()函数和后置teardown()函数 ...

  3. pytest测试框架4-插件与hook函数

    一.简介 pytest的自带功能很强大,通过添加插件可以扩展功能,pytest的代码结构适合定制和扩展插件, 可以借助hook函数来实现. 把fixture函数或者hook函数添加到conftest文 ...

  4. pytest框架中setup、teardown和setup_class、teardown_class

    函数级别方法: setup:每个用例执行之前都会执行一次 teardown:每个用例执行之后都会执行一次 import pytest class TestFunc:def setup(self): # ...

  5. Pytest测试框架(二):pytest 的setup/teardown方法

    系列文章目录 Pytest测试框架(一):pytest安装及用例执行 Pytest测试框架(二):pytest 的setup/teardown方法 Pytest测试框架(三):pytest fixtu ...

  6. Pytest框架 —— setUp()和tearDown()函数

    1.setUp()和tearDown()函数介绍 之前学过Unittest测试框架,知道前置setup()函数和后置teardown()函数非常好用,在每次用例开始前和结束后都去执行一次. 当然还有更 ...

  7. Pytest自动化脚本中各个层级的setup和teardown的执行流程和使用方法

    [原文链接]Pytest自动化脚本中各个层级的setup和teardown的执行流程和使用方法 文章目录 一.自动化脚本组成简介 二.测试类中的各个层级的setup和teardown 三.测试文件中各 ...

  8. 5.pytest中setup和teardown

    文章目录 前言 函数级别 模块级别 类级别 前言 用过unittest的童鞋都知道,有两个前置方法,两个后置方法:分别是 setup() setupClass() teardown() teardow ...

  9. Pytest系列——allure(原理)之allure工具与Pytest测试框架集成

    官方介绍 1.Allure Framework是一种灵活的轻量级多语言测试报告工具,不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,也允许参与开发过程的每个人从日常测试中提取最大程度的有用信 ...

最新文章

  1. centos7 下搭建git服务器
  2. ubuntu mysql deb_Ubuntu 通过Deb 安装 MySQL 5.5 [转载]
  3. 阿里云的重大战略调整,“被集成”成核心,发布SaaS加速器助力企业成长
  4. 7-spark学习笔记-spark性能调优
  5. 回归分析结果表格怎么填_手把手教绘制回归分析结果的森林图GraphPad Prism和Excel...
  6. matlab信号分割与比对,matlab测量计算信号的相似度
  7. 手机MODEM 开发(23)---Modem1 NVRAM基础知识总结
  8. Learn Python 014: Funtions
  9. 【转】关于输出用%lf和%f的问题
  10. Ubuntu 对比度调节
  11. 12. 表数据入口(Table Data Gateway)
  12. 在linux下安装mplayer和解码器
  13. Kite Compositor制作下雨打雷特效详细教学
  14. 计算机上什么键有存储,计算器存储运算键是什么?
  15. php电影票在线选座,适用于电影院、机票、汽车票在线选座位插件jQuery-Seat-Charts...
  16. 改ip 银河麒麟_PK体系银河麒麟云桌面和云平台
  17. 台式计算机c盘怎么清理空间,C盘满了怎么清理?C盘满了清理详细操作步骤(深度清理)...
  18. 服务器打不开网页dns错误是怎么回事,DNS错误原因是什么 如何解决DNS错误【详细介绍】...
  19. Lycoris Recoil再现!Unity实现Sakana~,代码思路解析,代码开源,Unity弹簧效果
  20. 随笔——雪雁飞过马赛克群导

热门文章

  1. 北京车牌租赁中的不可不了解的法律问题,看了绝不后悔
  2. python 20行程序实现jpg转pdf
  3. java小白到大咖成长游记
  4. Unity 3D 环境特效||Unity 3D 游戏场景设计实例
  5. 容器运行过程中异常处理
  6. MySQL学习003:利用ExecuteScalar查询
  7. QQ空间非主流女生急速闪动头像
  8. python绘制组合图_Python如何绘制组合图 Python绘制组合图代码示例
  9. eps提取高程点在哪里_利用EPS脚本技术实现管线点高程的自动提取
  10. Excel快速定位目标数值