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中的类与实例
Apr 27 Python
Python实现的读取/更改/写入xml文件操作示例
Aug 30 Python
python实现三次样条插值
Dec 17 Python
Pycharm+Scrapy安装并且初始化项目的方法
Jan 15 Python
Pandas0.25来了千万别错过这10大好用的新功能
Aug 07 Python
Django 项目重命名的实现步骤解析
Aug 14 Python
python通过实例讲解反射机制
Oct 17 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
Jun 02 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
Jun 12 Python
python redis存入字典序列化存储教程
Jul 16 Python
python中的时区问题
Jan 14 Python
python cv2图像质量压缩的算法示例
Jun 04 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 autoload机制的详解
2013/06/09 PHP
php发送post请求的三种方法
2014/02/11 PHP
php读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
ThinkPHP字符串函数及常用函数汇总
2014/07/18 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
2015/10/30 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
毕业生就业自荐书
2013/12/15 职场文书
入党介绍人评语
2014/05/06 职场文书
优秀护士先进事迹
2014/05/08 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
总经理岗位职责
2015/02/04 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js