pytest 前置后置用法之 Fixture、setup、teardown

前言

pytest 中可以使用 setup 和 teardown 来实现前置和后置方法,同时也可以使用装饰器 Fixture 来实现。主要用来做数据准备或者数据清理使用。

使用 setup 和 teardown 实现

方法介绍

在 pytest 中使用 setup 和 teardown 可以实现三种级别的前置和后置,分别是 方法级别、类级别和模块级别。不过模块级别用的不多。

方法级别

每个测试方法执行前后都会执行的方法。方法前置在每个用例执行之前会先运行, 方法后置在每个用例执行结束后运行。

class TestDemo:
    def setup(self):  # 方法前置
        pass
    
    def teardown(self):  # 方法后置
        pass

类级别

测试类中所有测试方法执行前后都会执行的方法。方法前置在所有用例执行之前会先运行, 方法后置在所有用例执行结束后运行。

class TestDemo:
    def setup_class(self):  # 类前置
        pass

    def teardown_class(self):  # 类后置
        pass

模块级别

模块级别可以用在 不使用类定义的用例中。

如果不再类定义的用例中书写,模块级别的方法,会在所有用例执行之前调用 前置方法, 在所有用例执行结束后调用后置方法。

在使用类定义的用例中,需要将方法写在类的外部,不能在类中书写。

习惯性的代码书写是在一个模块中定义一个测试类,所以模块级别的基本不用, 如果书写了, 前置方法会在类级别前置之前执行, 后置方法会在类后置之后执行。
如果书写多个测试类,前置方法会在所有测试类之前执行,后置方法会在所有测试类执行结束后执行。

def setup_module():  # 模块前置
    pass


def teardown_module():  # 模块后置
    pass

整体案例

import pytest


def setup_module():
    print('1. 模块级别前置 setup_module')


def teardown_module():
    print<
  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值