一、模块级别
-
setup_module:#整个模块运行前会执行一次,包括运行完类
-
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文章来源:https://www.toymoban.com/news/detail-524258.html
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模板网!