1、方法级别初始化、清除
pytest 中的 setup 和 teardown
在每个方法执行前后都会执行一次
固定函数名称如下(函数名称不能写错)
def setup(self):
print("setup_function--->")
def teardown(self):
print("teardown_function--->")def setup_method(cls):
print("setup_function--->")
def teardown_method(cls):
print("teardown_function--->")实例如下
import pytest
class Test():
def setup(self):
print("setup_function--->")
def teardown(self):
print("teardown_function--->")
def test_01(self):
print("深圳多测师")
def test_02(self):
print("广州多测师")
def test_03(self):
print("上海多测师")
if __name__ == '__main__':
pytest.main(["-s","test_demo1.py"])
# 结果如下test_demo1.py
setup_function--->
深圳多测师
.teardown_function--->
setup_function--->
广州多测师
.teardown_function--->
setup_function--->
上海多测师
.teardown_function--->
2、模块级别初始化、清除
分别在整个模块中所有类中的内容执行前后运行setup_module和teardown_module
设置全局方法 def setup_module() 和 def teardown_module()
# 定义全局方法
def setup_module():
print("setup_function--->")
def teardown_module():
print("teardown_function--->")
class Test01():
def test_01(self):
print("深圳多测师")
def test_02(self):
print("广州多测师")
class Test02():
def test_03(self):
print("上海多测师")
# 结果如下collected 3 items
test_demo1.py
setup_function--->
深圳多测师
.广州多测师
.上海多测师
.teardown_function--->
3、类级别初始化、清除
在类中添加类方法 def setup_class(cls) 和 def teardown_class(cls)
在定义了类方法 def setup_class(cls) 和 def teardown_class(cls) 的类中所有的用例执行前后只执行一次
class Test01():
@classmethod
def setup_class(cls):
print("setup_function--->")
@classmethod
def teardown_class(cls):
print("teardown_function--->")
def test_01(self):
print("深圳多测师")
def test_02(self):
print("广州多测师")
class Test02():
def test_03(self):
print("上海多测师")
# 结果如下collected 3 items
test_demo1.py
setup_function--->
深圳多测师
.广州多测师
.teardown_function---># 如下的用例打印前后未执行初始化和清除操作上海多测师
.
上一篇: python对数据库的操作
下一篇: 软件测试之手工测试人员如何转测试开发?