前言:1、当 pytest.fixture(scope="module") 时,pytest的yieId 类似unittest的teartownclass

   2、当 pytest.fixture(scope="function") 时,pytest的yieId 类似unittest的teartown

3、其中一个用例出现异常,不会影响yield后面的teardown执行,运行结果互不影响

4、如果在setup就异常了,那么是不会去执行yield后面的teardown内容了

# coding=utf-8
import pytest @pytest.fixture(scope="module")
def login():
print("登录成功") yield
print("用例执行完成,收尾") def test1(login):
print('操作1')
print("-----------------------------------------------") def test12(login):
print('操作2')
print("-----------------------------------------------") def test3(login):
print('操作3') print("-----------------------------------------------") if __name__ == '__main__':
pytest.main(['-s', "text.fix2.py"])

运行结果:

# coding=utf-8
import pytest @pytest.fixture(scope="function")
def login():
print("登录成功") yield
print("用例执行完成,收尾") def test1(login):
print('操作1')
print("-----------------------------------------------") def test12(login):
print('操作2')
print("-----------------------------------------------") def test3(login):
print('操作3') print("-----------------------------------------------") if __name__ == '__main__':
pytest.main(['-s', "text.fix2.py"])

运行结果:

pytest 的 yield的更多相关文章

  1. pytest(7)-yield与终结函数

    通过上一篇文章,我们已经知道了pytest中,可以使用Fixture来完成运行测试用例之前的一些操作如连接数据库,以及测试执行之后自动去做一些善后工作如清空脏数据.关闭数据库连接等. 我们已经学会了f ...

  2. 学习-Pytest(五)yield操作

    1.fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作 2.scope="module" 1.fixture参数scope=”modu ...

  3. pytest四:fixture_yield 实现 teardown

    既然有 setup 那就有 teardown,fixture 里面的 teardown 用 yield 来唤醒 teardown的执行 在所有用例执行完后执行:yield import pytest ...

  4. Pytest自动化测试 - 简易教程

    简介 pytest是动态编程语言Python专用的测试框架,它具有易于上手.功能强大.可扩展性好.兼容性强.效率高.第三方插件丰富等特点. 功能特征: 完整的文档,包括安装,教程和PDF文档 简单而又 ...

  5. pytest 5. fixture之yield实现teardown

    前言: 1.前面讲的是在用例前加前置条件,相当于setup,既然有setup那就有teardown,fixture里面的teardown用yield来唤醒teardown的执行 看以下的代码: #!/ ...

  6. pytest 框架自动化Selenium 之yield 使用

    环境 python 3.7 由于3.0-3.5以下部分pytest可能有部分兼容问题安装建议2.7-2.9,3.5-最新 pip install pytest专属 pytest框架包 pip inst ...

  7. pytest文档6-fixture之yield实现teardown

    前言 上一篇讲到fixture通过scope参数控制setup级别,既然有setup作为用例之前前的操作,用例执行完之后那肯定也有teardown操作. 这里用到fixture的teardown操作并 ...

  8. 《带你装B,带你飞》pytest修仙之路5 - yield操作

    1. 简介 上一篇中,我们刚刚实现了在每个用例之前执行初始化操作,那么用例执行完之后如需要清除数据(或还原)操作,可以使用 yield 来实现.fixture通过scope参数控制setup级别,既然 ...

  9. 【pytest】teardown里的yield和addfinalizer

    在之前介绍pytest中的fixture用法的文章中https://zhuanlan.zhihu.com/p/87775743,提到了teardown的实现. 最近在翻pytest官方文档的时候,又发 ...

随机推荐

  1. python记录_day03 字符串

    python基本数据类型回顾 1. int 整数 2. str 字符串. 不会用字符串保存大量的数据 3. bool 布尔值. True, False 4. list 列表(重点) 存放大量的数据 5 ...

  2. 谈一谈HashMap类

    一.Java中的hashCode()和equals() 1. hashCode()的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode()是用来在散列存储结构中确定对 ...

  3. python-前20天的着重知识点

    1.CPU存在两种工作状态:一种是内核态,操作系统在运行--可以操作硬件: 另一种是用户态,是应用软件在运行--不可以操作硬件. 应用软件要控制硬件,就要从用户态切换成内核态 2.多道技术:(多道指的 ...

  4. ​ 别忘了Nologging哦

    ​ ​ 别忘了Nologging哦

  5. Js replace() 方法笔记

    最近捣鼓着学习Js,发现replace()真的很有用,替换功能杠杠的棒. 接下来看看我遇到的问题: 有两个随机给出的字符串,字符串1'xxxxxx',字符串2'====T'(这两个用作示例,其他为随机 ...

  6. 解决nginx重启“var/run/nginx/nginx.pid" no such file or directory问题

    重启虚拟机后,再次重启nginx会报错“/var/run/nginx/nginx.pid” no such file or directory. 方法一(已试过可行): 到/var/run下看没有ng ...

  7. 通过BeanPostProcessor理解Spring中Bean的生命周期

    通过BeanPostProcessor理解Spring中Bean的生命周期及AOP原理 Spring源码解析(十一)Spring扩展接口InstantiationAwareBeanPostProces ...

  8. linux常用文本编缉命令(strings/sed/awk/cut)

    一.strings strings--读出文件中的所有字符串 二.sed--文本编缉 类型 命令 命令说明 字符串替换 sed -i 's/str_reg/str_rep/' filename 将文件 ...

  9. MFC消息-自定义消息

    转:http://blog.csdn.net/penpenandtongtong/article/details/18598907 像MFC的窗口发送消息,可以进行自定义的动作行为,因此很多时候非常有 ...

  10. vue中nextTick和$nextTick的差别

    <ul id="demo">     <li v-for="item in list">{{item}}</div> < ...