Python Pytest前置setup和后置teardown详解

本文详细介绍了Pytest中的不同级别的setup和teardown函数,包括函数级、类级以及类与函数混合使用的情况,阐述了它们的执行时机和作用范围,帮助理解测试框架在不同场景下的用例生命周期管理。

pytest用例运行级别:
●模块级(setup_module/teardown_module)开始于模块始末,全局的
●函数级(setup_function/teardown_function)只对函数用例生效
●类级(setup_class/teardown_class)只在类中前后运行一次(在类中生效,类外不生效)
●方法级(setup_method/teardown_method)开始于方法始末(在类中生效,类外不生效)
●类里面的(setup/teardown)运行在调用方法的前后(类中生效、类外有函数时生效)

函数级:

函数前置setup_function和后置teardown_function,放类中无效,放类外且类外有函数用例时才生效,每个用例开始前和结束后各调用一次,调用多次

import pytest
def setup_function():
    print("setup_function:每个用例开始前都会执行")
def teardown_function():
    print("teardown_function:每个用例结束后都会执行")
def test_one():
    print("正在执行---test_one")
def test_two():
    print("正在执行---test_two")
def login():
    print("正在执行---test_two")
if __name__ == "__main__":
    pytest.main(["-s","test02.py"])


"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test02.py
============================= test session starts =============================
platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0
rootdir: C:\Users\wangli\PycharmProjects\Test\Test
collected 2 items

test02.py setup_function:每个用例开始前都会执行
正在执行---test_one
.teardown_function:每个用例结束后都会执行
setup_function:每个用例开始前都会执行
正在执行---test_two
.teardown_function:每个用例结束后都会执行


============================== 2 passed in 0.14s ==============================

Process finished with exit code 0

模块前置setup_module和后置teardown_module,放类中无效,放类外且类外有函数用例或类内有函数用例时才生

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王大力测试进阶之路

打赏博主喝瓶水吧!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值