setup和teardown函数
学习目标
- 能够区分setup和teardown函数在函数级别和类级别的不同
1. 概述
1. setup和teardown函数主要分为:模块级、类级、功能级、函数级别、
2. 存在于测试类内部
2. 函数级别的setup和teardown函数
特点:
当是函数级别的时候,运行测试方法的始末,即运行一次测试函数运行一次setup和teardown.
import pytest
class Test_ABC:
def setup(self):
print("-----> setup_method")
def teardown(self):
print("----> teardown_method")
def test_a(self):
print("----> test_a")
assert 1
def test_b(self):
print("----> test_b")
if __name__ == "__main__":
pytest.main("-s test02.py")
执行结果
test_abc.py
------->setup_method # 第一次 setup()
------->test_a
.
------->teardown_method # 第一次 teardown()
------->setup_method # 第二次 setup()
------->test_b
.
------->teardown_method # 第二次 teardown()
3. 类级别
特点:
运行于测试类的始末,即:在一个测试内只运行一次setup_class和teardown_class,不关心测试类 内有多少个测试函数.
import pytest
class Test_ABC:
def setup_class(self):
print("-----> setup_class")
def teardown_class(self):
print("----> teardown_class")
def test_a(self):
print("----> test_a")
assert 1
def test_b(self):
print("----> test_b")
if __name__ == "__main__":
pytest.main("-s test_abc.py")
执行结果
test_abc.py
------->setup_class # 第一次 setup_class()
------->test_a
.
------->test_b
F
------->teardown_class # 第一次 teardown_class()