4.pytest中固定装置setup和teardown
Posted 不休不止
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.pytest中固定装置setup和teardown相关的知识,希望对你有一定的参考价值。
pytest提供了不同级别的setup和teardown,来完成测试中前置和后置的操作。
1.函数级别:setup_function/teardown_function
def test_source(): print(\'##### 打印功能 #####\') def setup_function(): print(\'----- 开始打印 -----\') def teardown_function(): print(\'----- 结束打印 -----\')
2.类级别:setup_class/teardown_class
def add(a,b): return a+b #注意setup_class 和teardown_class 必须写在类中 class Test_add(): def setup_class(self): print(\'----- 计算开始 -----\') def teardown_class(self): print(\'----- 计算结束 -----\') def test_1(self): print(\'----- 正在第一次计算 -----\') assert add(1,2)==3 def test_2(self): print(\'----- 正在第二次计算 -----\') assert add(2,3)==5
3.方法级别:setup_method/teardown_method
def add(a,b): return a+b class Test_add(): def setup_class(self): print(\'我是类级别的setup\') def teardown_class(self): print(\'我是类级别的teardown\') # 注意:setup_method和teardown_method 必须放在类中 def setup_method(self): print(\'我是方法级别的setup\') def teardown_method(self): print(\'我是方法级别的teardown\') def test_1(self): print(\'----- 正在第一次计算 -----\') assert add(1,2)==3 def test_2(self): print(\'----- 正在第二次计算 -----\') assert add(2,3)==5
4.模块级别:setup_module/teardown_module
def test_source(): print(\'##### 打印功能 #####\') def setup_function(): print(\'----- 开始打印 -----\') def teardown_function(): print(\'----- 结束打印 -----\') def setup_module(): print(\'我是模块级别的setup\') def teardown_module(): print(\'我是模块级别的module\') def add(a,b): return a+b class Test_add(): def setup_class(self): print(\'我是类级别的setup\') def teardown_class(self): print(\'我是类级别的teardown\') def setup_method(self): print(\'我是方法级别的setup\') def teardown_method(self): print(\'我是方法级别的teardown\') def test_1(self): print(\'----- 正在第一次计算 -----\') assert add(1,2)==3 def test_2(self): print(\'----- 正在第二次计算 -----\') assert add(2,3)==5
5.单独的setup和teardown
使用单独的setup和teardown其作用和setup_function/teardown_function/setup_method/teardown_method 一样
总结上述各级别的setup和teardown如果其中setup出现异常则不会执行teardown的操作
以上是关于4.pytest中固定装置setup和teardown的主要内容,如果未能解决你的问题,请参考以下文章