用例运行级别
- 模块级(setup_module/teardown_module)开始于模块始末,全局的
- 函数级(setup_function/teardown_function)叧对函数用例生效(不在类中)
- 类级(setup_class/teardown_class)叧在类中前后运行一次(在类中)
- 方法级(setup_method/teardown_method)开始于方法始末(在类中)
- 类里面的(setup/teardown)运行在调用方法的前后
- 函数式setup_function/teardown_function
01 函数前后置操作setup_function/teardown_function
pytest 框架支持函数和类两种用例方式,先看函数里面的前置与后置用法:
setup_function/teardown_function 每个用例开始和结束调用一次
# -*- coding: utf-8 -*-
# @Time : 2025/4/4 18:57
# @Author : write1994
# @File : test_fixt.py
# @Desc :
import pytest
# 函数式
def setup_function():
print("setup_function:每个用例开始前都会执行")
def teardown_function():
print("teardown_function:每个用例结束后都会执行")
def test_one():
print("正在执行----test_one")
x = "this"
assert 'h' in x
def test_two():
print("正在执行----test_two")
x = "hello"
assert hasattr(x, 'check')
def test_three():
print("正在执行----test_three")
a = "hello"
b = "hello world"
assert a in b
if __name__ == "__main__":
pytest.main(["-s", "test_fixt.py"])
从结果可以看出用例执行顸序:setup_function》test_one》teardown_function,setup_function》test_two