Pytest实现setup和teardown的详细使用详解


Posted in Python onApril 17, 2021

前言

用过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

代码

用过unittest的童鞋,对这个前置、后置方法应该不陌生了,我们直接来看代码和运行结果

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
__title__  =
__Time__   = 2020-04-06 11:40
__Author__ = 小菠萝测试笔记
__Blog__   = https://www.cnblogs.com/poloyy/
"""
import pytest


def setup_module():
    print("=====整个.py模块开始前只执行一次:打开浏览器=====")


def teardown_module():
    print("=====整个.py模块结束后只执行一次:关闭浏览器=====")


def setup_function():
    print("===每个函数级别用例开始前都执行setup_function===")


def teardown_function():
    print("===每个函数级别用例结束后都执行teardown_function====")


def test_one():
    print("one")


def test_two():
    print("two")


class TestCase():
    def setup_class(self):
        print("====整个测试类开始前只执行一次setup_class====")

    def teardown_class(self):
        print("====整个测试类结束后只执行一次teardown_class====")

    def setup_method(self):
        print("==类里面每个用例执行前都会执行setup_method==")

    def teardown_method(self):
        print("==类里面每个用例结束后都会执行teardown_method==")

    def setup(self):
        print("=类里面每个用例执行前都会执行setup=")

    def teardown(self):
        print("=类里面每个用例结束后都会执行teardown=")

    def test_three(self):
        print("three")
def test_four(self):
        print("four")


if __name__ == '__main__':
    pytest.main(["-q", "-s", "-ra", "setup_teardown.py"])

执行结果

Pytest实现setup和teardown的详细使用详解

到此这篇关于Pytest实现setup和teardown的详细使用详解的文章就介绍到这了,更多相关Pytest setup和teardown内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中的jquery PyQuery库使用小结
May 13 Python
python中列表和元组的区别
Dec 18 Python
python全栈要学什么 python全栈学习路线
Jun 28 Python
Django 对象关系映射(ORM)源码详解
Aug 06 Python
python实现操作文件(文件夹)
Oct 31 Python
python实现将range()函数生成的数字存储在一个列表中
Apr 02 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
Jun 04 Python
pytorch中的weight-initilzation用法
Jun 24 Python
Python创建临时文件和文件夹
Aug 05 Python
详解Python调用系统命令的六种方法
Jan 28 Python
python自动化调用百度api解决验证码
Apr 13 Python
Python中常见的反爬机制及其破解方法总结
Jun 10 Python
pytest配置文件pytest.ini的详细使用
Apr 17 #Python
用Python简陋模拟n阶魔方
Python OpenCV快速入门教程
python小程序之飘落的银杏
Python Numpy之linspace用法说明
Apr 17 #Python
用Python的绘图库(matplotlib)绘制小波能量谱
用基于python的appium爬取b站直播消费记录
You might like
PHP技术开发技巧分享
2010/03/23 PHP
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
js数组Array sort方法使用深入分析
2013/02/21 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
layui表格实现代码
2017/05/20 Javascript
vue做网页开场视频的实例代码
2017/10/20 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
JS实现页面数据懒加载
2020/02/13 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
python 实现12bit灰度图像映射到8bit显示的方法
2019/07/08 Python
基于python二叉树的构造和打印例子
2019/08/09 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
Linux机考试题
2015/07/17 面试题
解决方案设计综合面试题
2015/08/31 面试题
农村婚礼证婚词
2014/01/10 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
2014年销售工作总结范文
2014/12/01 职场文书
先进党支部事迹材料
2014/12/24 职场文书