在每次用例开始前和结束后都会执行一次

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'])