在每次用例开始前和结束后都会执行一次
setupClass和teardownClass需要配合@classmethod装饰器一起用
模块级(setup_module/teardown_module)开始于模块始末,全局的
函数级(setup_function/teardown_function)只对函数用例生效(不在类中)
类级(setup_class/teardown_class)只在类中前后运行一次(在类中)
方法级(setup_method/teardown_method)开始于方法始末(在类中)
类里面的(setup/teardown)运行在调用方法的前后
1 """ 2 在每次用例开始前和结束后都会执行一次 3 4 setupClass和teardownClass需要配合@classmethod装饰器一起用 5 6 模块级(setup_module/teardown_module)开始于模块始末,全局的 7 8 函数级(setup_function/teardown_function)只对函数用例生效(不在类中) 9 10 类级(setup_class/teardown_class)只在类中前后运行一次(在类中) 11 12 方法级(setup_method/teardown_method)开始于方法始末(在类中) 13 14 类里面的(setup/teardown)运行在调用方法的前后 15 16 """ 17 18 import pytest 19 20 class TestCase01(object): 21 @classmethod 22 def setup_class(cls): 23 print('setup_class') 24 @classmethod 25 def teardown_class(cls): 26 print('teardown_class') 27 def test1(self): 28 print('test1') 29 def test2(self): 30 print('test2') 31 32 33 def setup_function(): #运行函数test1和函数test2都会被执行的 34 print('setup_function') 35 36 def teardown_function(): 37 print('teardown_function') 38 39 def setup_module(): #模块级只运行一次 40 print('setup_module') 41 42 def teardown_module(): 43 print('teardown_module') 44 45 def test3(): 46 print('test3') 47 48 def test4(): 49 print('test4') 50 51 if __name__ == '__main__': 52 pytest.main(['-sv','test07.py'])