Pytest的setup/teardown各个方法的作用域

这篇具有很好参考价值的文章主要介绍了Pytest的setup/teardown各个方法的作用域。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、模块级别

  1. setup_module:#整个模块运行前会执行一次,包括运行完类
  2. teardown_module:#整个模块运行后会执行一次,包括运行完类
import pytest
 
 
'''
#整个模块运行前会执行一次,包括运行完类
'''
def setup_module():
    print("这个是模块级别的setup_module")
 
'''
#整个模块运行后会执行一次,包括运行完类
'''
def teardown_module():
    print("这个是模块级别的teardown_module")
    
def test_01():
    print("我是test_02得test_01得用例")
 
class test_demo():
    def test_01(self):
        print("我是test_02得类得用例!")


# 运行结果
C:\Python39\python.exe F:/pytestObject/main.py
============================= test session starts =============================
 
 
collecting ... collected 2 items
 
Testcase01/test03.py::test_01 这个是模块级别的setup_module
我是test_02得test_01得用例
PASSED
Testcase01/test03.py::test_demo::test_01 我是test_02得类得用例!
PASSED这个是模块级别的teardown_module
 
 
============================== 2 passed in 0.02s ==============================
 
Process finished with exit code 0

二、模块级别(方法)

setup_function:#模块中每条用例执行前执行一次,不会作用于class中的test_case

teardown_function:#模块中每条用例执行后执行一次,不会作用于class中的test_case文章来源地址https://www.toymoban.com/news/detail-524258.html

import pytest
 
 
'''
#整个模块运行前会执行一次,包括运行完类
'''
def setup_module():
    print("这个是模块级别的setup_module")
 
'''
#整个模块运行后会执行一次,包括运行完类
'''
def teardown_module():
    print("这个是模块级别的teardown_module")
 
'''
#模块中每条用例执行前执行一次,不会作用于class中的test_case
'''
def setup_function():
    print("模块中每条用例执行前执行一次!")
 
'''
#模块中每条用例执行后执行一次,不会作用于class中的test_case
'''
def teardown_function():
    print("模块中每条用例执行后执行一次!")
 
def test_01():
    print("我是test_02得test_01得用例")
 
class test_demo():
    def test_01(self):
        print("我是test_02得类得用例!")


# 运行结果
C:\Python39\python.exe F:/pytestObject/main.py
============================= test session starts =============================
 
 
Testcase01/test03.py::test_01 这个是模块级别的setup_module
模块中每条用例执行前执行一次!
我是test_02得test_01得用例
PASSED模块中每条用例执行后执行一次!
 
Testcase01/test03.py::test_demo::test_01 我是test_02得类得用例!
PASSED这个是模块级别的teardown_module
 
 
============================== 2 passed in 0.02s ==============================

三、测试类级别

setup_class:所有用例执行前执行一次
teardown_class:所有用例执行后执行一次
import pytest
 
 
'''
#整个模块运行前会执行一次,包括运行完类
'''
def setup_module():
    print("这个是模块级别的setup_module")
 
'''
#整个模块运行后会执行一次,包括运行完类
'''
def teardown_module():
    print("这个是模块级别的teardown_module")
 
'''
#模块中每条用例执行前执行一次,不会作用于class中的test_case
'''
def setup_function():
    print("模块中每条用例执行前执行一次!")
 
'''
#模块中每条用例执行后执行一次,不会作用于class中的test_case
'''
def teardown_function():
    print("模块中每条用例执行后执行一次!")
 
def test_01():
    print("我是test_02得test_01得用例")
 
class test_demo():
    
    def setup_class(self):
        print("Test_demo中所有用例执行前执行一次!")
 
    def teardown_class(self):
        print("Test_demo中所有用例执行后执行一次!")
    
    def test_01(self):
        print("我是test_02得类得用例!")

# 运行结果
C:\Python39\python.exe F:/pytestObject/main.py
============================= test session starts =============================
 
 
Testcase01/test03.py::test_01 这个是模块级别的setup_module
模块中每条用例执行前执行一次!
我是test_02得test_01得用例
PASSED模块中每条用例执行后执行一次!
 
Testcase01/test03.py::test_demo::test_01 Test_demo中所有用例执行前执行一次!
我是test_02得类得用例!
PASSEDTest_demo中所有用例执行后执行一次!
这个是模块级别的teardown_module
 
 
============================== 2 passed in 0.03s ==============================
 
Process finished with exit code 0    

四、测试类级别(测试方法)

setup:每条测试用例执行前执行一次
teardown:每条测试用例执行后执行一次
import pytest
 
 
'''
#整个模块运行前会执行一次,包括运行完类
'''
def setup_module():
    print("这个是模块级别的setup_module")
 
'''
#整个模块运行后会执行一次,包括运行完类
'''
def teardown_module():
    print("这个是模块级别的teardown_module")
 
'''
#模块中每条用例执行前执行一次,不会作用于class中的test_case
'''
def setup_function():
    print("模块中每条用例执行前执行一次!")
 
'''
#模块中每条用例执行后执行一次,不会作用于class中的test_case
'''
def teardown_function():
    print("模块中每条用例执行后执行一次!")
 
def test_01():
    print("我是test_02得test_01得用例")
 
class test_demo():
 
    def setup_class(self):
        print("Test_demo中所有用例执行前执行一次!")
 
    def teardown_class(self):
        print("Test_demo中所有用例执行后执行一次!")
 
    def setup(self):
        print("这是一个setup")
 
    def teardown(self):
        print("这是一个teardown")
    def test_01(self):
        print("我是test_02得类得用例!")



# 运行结果
C:\Python39\python.exe F:/pytestObject/main.py
============================= test session starts =============================
 
 
Testcase01/test03.py::test_01 这个是模块级别的setup_module
模块中每条用例执行前执行一次!
我是test_02得test_01得用例
PASSED模块中每条用例执行后执行一次!
 
Testcase01/test03.py::test_demo::test_01 Test_demo中所有用例执行前执行一次!
这是一个setup
我是test_02得类得用例!
PASSED这是一个teardown
Test_demo中所有用例执行后执行一次!
这个是模块级别的teardown_module
 
 
============================== 2 passed in 0.01s ==============================
 
Process finished with exit code 0

到了这里,关于Pytest的setup/teardown各个方法的作用域的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pytest装饰器 @pytest.mark.parametrize 使用方法

    @pytest.mark.parametrize 有三种传参方法,分别是: 1.列表传参:将参数值作为列表传递给装饰器。 2.元组传参:将参数值作为元组传递给装饰器。 3.字典传参:将参数名和参数值以字典的形式传递给装饰器。 使用方法如下: 在上面的例子中,我们定义了名为 test_function 的测试函

    2024年02月03日
    浏览(46)
  • Pytest的使用方法和操作

    Pytest的介绍 pytest是一个流行的Python测试框架,可以用于编写各种类型的自动化测试,包括单元测试、集成测试和端到端测试等。以下是pytest的基本使用方法:  在编写测试用例:在一个.py文件中编写测试函数,以test_开头,例如: 运行测试用例:在终端中进入测试文件所在目

    2024年02月07日
    浏览(34)
  • 利用 jenkins 关联 Job 方式完善 RobotFramework 测试 Setup 以及 Teardown 后操作

    目录 1.前言 2.Jekins 关联 Job 方式 1.前言 Jenkins是一个流行的持续集成和交付工具,它可以帮助自动化构建、测试和部署软件。与Robot Framework结合使用,可以实现更高效的测试工作流程。 在Robot Framework中,Setup和Teardown是测试用例中的两个重要部分。Setup用于准备测试环境和数据

    2024年02月17日
    浏览(43)
  • pytest+allure运行出现乱码的解决方法

    报错截图: 这里的截图摘自 悟翠人生 小伙伴的https://blog.csdn.net/weixin_45435918/article/details/107601721一文。 这是因为没有安装allure运行环境或者没有配置allure的环境变量导致,解决方案: 1.安装allure运行环境 官方下载地址:https://github.com/allure-framework/allure2/releases 百度网盘链接

    2024年02月15日
    浏览(34)
  • pytest两种生成测试报告的方法——html

    pytest有两种生成测试报告的方法(html和allure),今天就给大家一介绍下html 1.安装:pip install pytest-html 2.查看版本:pip show pytest-html 3.生成测试报告基本语法: 语法一:pytest --html=生成报告的url 运行用例的.py文件 语法二:pytest --html=生成报告的url --self-contained-html 运行用例的

    2024年02月08日
    浏览(71)
  • python+pytest接口自动化之测试函数、测试类/测试方法的封装

    今天呢,笔者想和大家聊聊python+pytest接口自动化中将代码进行封装,只有将测试代码进行封装,才能被测试框架识别执行。 例如单个接口的请求代码如下: 假设我们需要将上面这段代码编写成测试框架能执行的测试用例,仅仅只是这样写代码显然是不够的,还需要进行如下

    2024年03月09日
    浏览(62)
  • pytest运行时参数说明,pytest详解,pytest.ini详解

    1.pytest是一个非常成熟的全功能的Python测试框架,主要有一下几个特点: 简单灵活,容易上手,支持参数化 2.能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium、appium等自动化测试,requests+pytest接口自动化测试 3.pytest具有很多第三方插件,并且可以自定义扩展

    2024年02月13日
    浏览(45)
  • Pytest教程:Pytest的简介

    Pytest是一个基于Python编写的全功能测试框架,它被广泛应用于软件开发领域的自动化测试。在本篇技术博客中,我们将介绍Pytest的简介、背景和优势,以及它相比其他测试框架的优势、主要特点和功能。 一、Pytest的简介、背景和优势 Pytest是一个轻量级的测试框架,它提供了

    2024年02月09日
    浏览(35)
  • pytest框架快速进阶篇-pytest前置和pytest后置,skipif跳过用例

     一、 Pytest的前置和后置方法 1.Pytest可以集成unittest实现前置和后置 注意:setUpClass和tearDownClass需要用@classmethod装饰器装饰。 2.Pytest前置和后置 注意:setup、teardown、setup_class、teardown_class都是小写! 二、跳过用例 使用方法:   @pytest.mark.skipif(21,reason=\\\'当条件不True时跳过\\\') 使用

    2024年02月13日
    浏览(46)
  • pytest笔记: pytest单元测试框架

    pycharm settings 查看  test_sample.py  后面带了个“.” 表示通过 如果不符合预期显示结果如下 D:softwarepython3anconda3Scripts 重启pycharm 后输入pytest

    2024年02月10日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包