pytest-setup和teardown
模块级别: setup_module、teardown_module
函数级别: setup_function、teardown_function,不在类中的方法
类级别: setup_class、teardown_class
类方法级别: setup_method、teardown_method
类方法细化级别:setup、teardown
举例:
#coding=utf-8
import pytest
def setup_module():
print("整个.py模块开始前运行一次setup_module")
def teardown_module():
print("整个.py模块结束后运行一次teardown_module")
def setup_function():
print("每个函数开始前运行一次setup_function")
def teardown_function():
print("每个函数结束后运行一次teardown_function")
#测试函数1
def test_one():
print('测试函数1,one')
#测试函数2
def test_two():
print('测试函数2,two')
class TestClass:
def setup_class(self):
print("整个测试类TestClass开始前运行一次setup_class")
def teardown_class(self):
print("整个测试类TestClass结束后运行一次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")
if __name__ == '__main__':
pytest.main(["-s","-ra","test_setupteatdown.py"])
运行结果:
test_setupteatdown.py 整个.py模块开始前运行一次setup_module
每个函数开始前运行一次setup_function
测试函数1,one
.每个函数结束后运行一次teardown_function
每个函数开始前运行一次setup_function
测试函数2,two
.每个函数结束后运行一次teardown_function
整个测试类TestClass开始前运行一次setup_class
测试类里的每个测试方法执行前运行一次setup_method
测试类里的每个测试方法执行前运行一次setup
测试方法,three
.测试类里的每个测试方法结束后运行一次teardown
测试类里的每个测试方法结束后运行一次teardown_method
整个测试类TestClass结束后运行一次teardown_class
整个.py模块结束后运行一次teardown_module
网友评论