7、Pytest前后置处理函数Fixture之yiled

以下内容纯属个人理解,如有不足,还请指正,转载请注明出处,喜欢请动动小指头点赞评论哦(▽)!
让我们先来看一个小栗子:

# -*- coding:utf-8 -*-
'''
@Author     : 测试工程师Jane
@FileName   : a.py
@Description:
'''
import pytest
@pytest.fixture()
def login():
    print("今天的笔记做完了吗?")
    yield
    print("今天的笔记做完啦!!!")

def test_01(login):
    print("我是用例一")
    
if __name__ == '__main__':
    pytest.main()

运行结果:
在这里插入图片描述
从以上运行结果我们可以看到,带有yiled的fixture函数,yiled函数语句分别在测试类前后被执行,我们来总结一下带yiled的fixture特性。

总结

  1. 一般的fixture 函数会在测试函数之前运行,但是如果 fixture 函数包含 yiled,那么会在 yiled处停止并转而运行测试函数,等测试函数执行完毕后再回到该 fixture 继续执行 yiled 后面的代码。
  2. 可以将 yiled前面的代码看作是 setup,yiled 后面的部分看作是 teardown 的过程。
  3. 无论是测试函数中发生了什么是成功还是失败或者 error 等情况,yiled 后面的代码都会被执行,yiled 中的返回数据也可以在测试函数中使用

以上内容纯属个人理解,如有不足,还请指定。转载请注明出处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值