一.pytest框架中使用setup、teardown、更灵活按照用例级别可以分为以下几类:
1.模块级:(setup_module、teardown_module)在模块始末调用
2.函数级:(setup_function、teardown_function)在函数始末调用 在类外部
3.类级:(setup_class、teardown_class)在类始末调用 在类中
4.方法级:(setup_method、teardown_method)在方法始末调用 在类中
5.方法级:(setup、teardown)在方法始末调用 在类中
二.调用顺序
setup_module>setup_class>setup_method>setup>teardown>teardown_method>teardown_class>teardown_module
三.实例
#!/usr/bin/env python # _*_coding: utf-8 _*_ def setup_module(): print("\nsetup_module, 只执行一次,当有多个测试类的时候使用") def teardown_module(): print("\nteardown_module, 只执行一次,当有多个测试类的时候使用") class TestPytest1(object): @classmethod def setup_class(cls): print("\nsetup_class1, 只执行一次") @classmethod def teardown_class(cls): print("\nteardown_class1,只执行一次") def setup_method(self): print("\nsetup_method, 每个测试方法执行一次") def teardown_method(self): print("\nteardown_method, 每个测试方法执行一次") def test_three(self): print("test_three, 测试用例") def test_four(self): print("test_four, 测试用例") class TestPytest2(object): @classmethod def setup_class(cls): print("\nsetup_class2, 只执行一次") @classmethod def teardown_class(cls): print("\nteardown_class2,只执行一次") def setup_method(self): print("\nsetup_method2, 每个测试方法执行一次") def teardown_method(self): print("\nteardown_method2, 每个测试方法执行一次") def test_one(self): print("test_one, 测试用例") def test_two(self): print("test_two, 测试用例")