Pytest测试框架中,setup和teardown函数的作用及使用方法
作为一名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函数的作用及使用方法相关推荐
- pytest测试框架系列 - setup和teardown的详细讲解
简介 前面使用过unittest的都知道,setup和teardown是用来处理用例的前置工作和清理工作,其中还有setupclass和teardownclass是保证执行所以的用例都只执行1次前置和 ...
- 九、Pytest框架 — Pytest框架的setUp()和tearDown()函数
###文章内容有配套的学习视频和笔记都放在了文章末尾### 1.setUp()和tearDown()函数介绍 之前学过Unittest测试框架,知道前置setup()函数和后置teardown()函数 ...
- pytest测试框架4-插件与hook函数
一.简介 pytest的自带功能很强大,通过添加插件可以扩展功能,pytest的代码结构适合定制和扩展插件, 可以借助hook函数来实现. 把fixture函数或者hook函数添加到conftest文 ...
- pytest框架中setup、teardown和setup_class、teardown_class
函数级别方法: setup:每个用例执行之前都会执行一次 teardown:每个用例执行之后都会执行一次 import pytest class TestFunc:def setup(self): # ...
- Pytest测试框架(二):pytest 的setup/teardown方法
系列文章目录 Pytest测试框架(一):pytest安装及用例执行 Pytest测试框架(二):pytest 的setup/teardown方法 Pytest测试框架(三):pytest fixtu ...
- Pytest框架 —— setUp()和tearDown()函数
1.setUp()和tearDown()函数介绍 之前学过Unittest测试框架,知道前置setup()函数和后置teardown()函数非常好用,在每次用例开始前和结束后都去执行一次. 当然还有更 ...
- Pytest自动化脚本中各个层级的setup和teardown的执行流程和使用方法
[原文链接]Pytest自动化脚本中各个层级的setup和teardown的执行流程和使用方法 文章目录 一.自动化脚本组成简介 二.测试类中的各个层级的setup和teardown 三.测试文件中各 ...
- 5.pytest中setup和teardown
文章目录 前言 函数级别 模块级别 类级别 前言 用过unittest的童鞋都知道,有两个前置方法,两个后置方法:分别是 setup() setupClass() teardown() teardow ...
- Pytest系列——allure(原理)之allure工具与Pytest测试框架集成
官方介绍 1.Allure Framework是一种灵活的轻量级多语言测试报告工具,不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,也允许参与开发过程的每个人从日常测试中提取最大程度的有用信 ...
最新文章
- centos7 下搭建git服务器
- ubuntu mysql deb_Ubuntu 通过Deb 安装 MySQL 5.5 [转载]
- 阿里云的重大战略调整,“被集成”成核心,发布SaaS加速器助力企业成长
- 7-spark学习笔记-spark性能调优
- 回归分析结果表格怎么填_手把手教绘制回归分析结果的森林图GraphPad Prism和Excel...
- matlab信号分割与比对,matlab测量计算信号的相似度
- 手机MODEM 开发(23)---Modem1 NVRAM基础知识总结
- Learn Python 014: Funtions
- 【转】关于输出用%lf和%f的问题
- Ubuntu 对比度调节
- 12. 表数据入口(Table Data Gateway)
- 在linux下安装mplayer和解码器
- Kite Compositor制作下雨打雷特效详细教学
- 计算机上什么键有存储,计算器存储运算键是什么?
- php电影票在线选座,适用于电影院、机票、汽车票在线选座位插件jQuery-Seat-Charts...
- 改ip 银河麒麟_PK体系银河麒麟云桌面和云平台
- 台式计算机c盘怎么清理空间,C盘满了怎么清理?C盘满了清理详细操作步骤(深度清理)...
- 服务器打不开网页dns错误是怎么回事,DNS错误原因是什么 如何解决DNS错误【详细介绍】...
- Lycoris Recoil再现!Unity实现Sakana~,代码思路解析,代码开源,Unity弹簧效果
- 随笔——雪雁飞过马赛克群导