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连接sql server乱码的解决方法
Jan 28 Python
netbeans7安装python插件的方法图解
Dec 24 Python
Python编码类型转换方法详解
Jul 01 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
opencv3/C++ 平面对象识别&透视变换方式
Dec 11 Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
Apr 24 Python
Django如何在不停机的情况下创建索引
Aug 02 Python
图解Python中深浅copy(通俗易懂)
Sep 03 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
Sep 18 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
MVC模式的PHP实现
2006/10/09 PHP
PHP+ACCESS 文章管理程序代码
2010/06/21 PHP
php foreach 参数强制类型转换的问题
2010/12/10 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
Thinkphp单字母函数使用指南
2016/05/08 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
Javascript 函数对象的多重身份
2009/06/28 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
Angular模板表单校验方法详解
2017/08/11 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
[15:15]教你分分钟做大人:狙击手
2014/10/30 DOTA
python使用PyCharm进行远程开发和调试
2017/11/02 Python
Python线性方程组求解运算示例
2018/01/17 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
python requests使用socks5的例子
2019/07/25 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
2019/10/11 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
公司新员工的演讲稿注意事项
2014/01/01 职场文书
工地安全标语
2014/06/07 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
vue+spring boot实现校验码功能
2021/05/27 Vue.js
灵能百分百第三季什么时候来?
2022/03/15 日漫
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers