Pytest测试框架结构
Pytest 测试框架结构
简介
Pytest 中的 setup_method函数用于准备测试环境,teardown_method函数用于清理资源。通过定义 setup_method和 teardown_method函数,可以在每个测试用例执行前后执行所需的操作,增加测试的可靠性和复用性。
-
setup_method函数:在 Pytest 中,setup_method函数用于为测试提供准备环境的代码。该函数在每个测试用例运行之前执行一次。通常,setup_method函数被用来初始化测试环境,例如创建数据库连接、加载测试数据等。可以在不同的作用域(函数级别、类级别、模块级别)定义 setup_method函数。
-
teardown_method函数:在 Pytest 中,teardown_method函数用于在测试执行后进行清理工作。该函数在每个测试用例运行完成后执行一次。通常,teardown_method函数用于释放资源,例如关闭数据库连接、删除临时文件等。可以在不同的作用域(函数级别、类级别、模块级别)定义 teardown_method函数。
setup/teardown 函数的各个类型
类型 | 规则 |
---|---|
setup_module/teardown_module | 全局模块级 |
setup_class/teardown_class | 类级,只在类中前后运行一次 |
setup_function/teardown_function | 函数级,在类外 |
setup_method/teardown_method | 方法级,类中的每个方法执行前后 |
setup/teardown | 新版本已弃用,忽略 |
代码示例如下:
# 模块级别(优先最高)
def setup_module():
print("资源准备:setup module")
def teardown_module():
print("资源准备:teardown module")
# 函数级别
def setup_function():
print("资源准备:setup function")
def teardown_function():
print("资源销毁:teardown function")
# 方法级别
class TestDemo:
# 执行类 前后分别执行 setup_class teardown_class
def setup_class(self):
print("TestDemo setup_class")
def teardown_class(self):
print("TestDemo teardown_class")
# 每个类里面的方法前后分别执行 setup teardown
def setup_method(self):
print("TestDemo setup")
def teardown_method(self):
print("TestDemo teardown")
总结
- 掌握 Pytest 测试框架结构。
- 不同测试框架结构的作用范围是什么。