网络编程
位置:首页>> 网络编程>> Python编程>> Pytest实现setup和teardown的详细使用详解

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

作者:小菠萝测试笔记  发布时间:2023-09-12 02:06:48 

标签: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

代码

用过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的详细使用详解

来源:https://www.cnblogs.com/poloyy/p/12641991.html

0
投稿

猜你喜欢

  • 桥接模式Bridge Pattern是什么桥接模式是一种结构型模式,它将抽象部分与实现部分分离开来,使它们可以独立地变化。在桥接模式中,我们
  • 如果需要在查询语句返回的列中包含一列表示该条记录在整个结果集中的行号, ISO SQL:2003 标准提出的方法是提供 ROW_NUMBER
  • 用DIV+CSS可以作出很多不同形状的角形;以下我只写了几个;CSS没有优化;是为了让大家看得更清一些;以下是一些小三角的形状:这是第一个小
  • 本文实例讲述了Python实现字符串与数组相互转换功能。分享给大家供大家参考,具体如下:字符串转数组str = '1,2,3'
  • 声明定位元素:position属性值设置除默认值static以外的元素,包括relative,absolute,fixed。平台:win/I
  • [本站原创]在我们浏览了一些网页时,经常会弹出一些信息窗口或浏览器窗口以显示一些公告内容,想知道这些窗口是怎么制作出来的吗?如果你还不曾知道
  •   在以前的日志中讲了怎么制作验证码,这篇就讲讲怎么给验证码加上起干扰效果的杂点。   其实很简单,首先做一个
  • 演示示例使用QQ邮箱发送邮件,先获取自己的QQ邮箱的授权码。因为后面发送邮件时需要使用自己的授权码作为邮箱的密码登录邮箱最后达到发送邮件的目
  • 冷备份是数据库文件的物理备份,通常在数据库通过一个shutdown normal或shutdown immediate 命令正常关闭后进行。
  • 首先还是应该科普下函数参数传递机制,传值和传引用是什么意思?函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进
  • 在腾讯的微信公众平台开发者文档,网页授权获取用户基本信息这一节中写道”在微信公众号请求用户网页授权之前,开发者需要先到公众平台网站的我的服务
  • #/usr/bin/env python#-*- coding:utf-8 -*-"""1.解析 cronta
  • 一个站点成功与否,不是在于所用的程序语言是PHP还是ASP,也不在于用BLOG建站或是CMS建站,内容和专业很重要。博客很好起步,CMS体系
  • 基本概念数字图像定义对于一幅图像,我们可以将其放入坐标系中,这里取图像左上定点为坐标原点,x 轴向右,和笛卡尔坐标系x轴相同;y 轴向下,和
  • 2003年以来,网页的平均尺寸已经增长3倍。从2003到2008,网页的平均尺寸从93.7K增至312K,增幅233%。同时,在这5年之内,
  • 区块链中的共识算法在比特币公链架构解析中,就曾提到过为了实现去中介化的设计,比特币设计了一套共识协议,并通过此协议来保证系统的稳定性和防攻击
  • 一、适配器模式适配器,顾名思义是一种万能的接口,达到万能转换的效果。适配器模式,定义一个适配器类,并且在该类中定义了适配器接口,这些适配接口
  • 变量名1、组成:数字、字母、下划线2、变量名要有意义3、多个单词则用下划线,如user_id4、python的变量名不要驼峰显示字符串:1、
  • Python模块,简单说就是一个.py文件,其中可以包含我们需要的任意Python代码。迄今为止,我们所编写的所有程序都包含在单独的.py文
  • 如何检测某个对象是否有某个属性?第一想到的——没错,in:"prop" in obj这很完美,不过,还有不少人热衷下面的
手机版 网络编程 asp之家 www.aspxhome.com