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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值