Skip跳过用例

跳过(Skip)指,你希望如果某些条件得到满足你的测试用例才执行,否则Pytest应该完全跳过运行该用例
1. 跳过测试用例的最简单方法是使用skip装饰器标记它,可以传递一个可选的原因reason参数:
@pytest.mark.skip(reason="目前无法执行该用例")
def test_skip_2():
print("该用例不执行")
2.也可以在用例执行前进行某些前置条件检查,例如检查预期前置条件是否满足,比较值等
def test_skip_3():
if 3>2:
pytest.skip(",前置条件不满足,不执行该用例")
print("执行该用例1")
3.如果你希望特定条件地跳过某些用例,则可以使用skipif。下面的示例演示了,当Python版本小于3.6时跳过测试用例。
@pytest.mark.skipif(sys.version_info<(3,6),reason="需要Python3.6版本以上")
def test_function():
...

Xfail失败用例

xFail:将测试函数标记为预期失败
1.可以直接标记用例失败,也可以传递失败原因reason参数,例如:
@pytest.mark.xfail(reason="用例失败")
def test_xfail_2():
print("标记该用例失败")
2.也可以判断条件后决定是否失败,例如有个登录1,登录1成功后执行步骤2、步骤3,如果登录1失败,则步骤2、步骤3失败,代码如下:
@pytest.fixture()
def login():
return True
def test_bu_1(login):
if not login:
pytest.xfail()
print("步骤1执行")
def test_bu_2(login):
if login:
pytest.xfail()
print("步骤2执行")
3.与skipif一样,你也可以在特定平台上标记你对失败的期望:
@pytest.mark.xfail(sys.version_info >= (3,6),reason="Python3.6 API变更")
def test_function():
...

Pytest学习6-跳过或xfail失败的用例的更多相关文章

  1. pytest学习8-运行上次执行失败的用例

    该插件提供了两个命令行选项,用于重新运行上次pytest调用的失败: --lf,--last-failed- 只重新运行上次失败的用例,如果没有失败则全部运行 --ff,--failed-first- ...

  2. Pytest学习(十一)- 失败重跑插件pytest-rerunfailures的使用

    环境依赖 Python 3.5, 最高 3.8, or PyPy3 pytest 5.0或更高版本 插件安装 pip3 install pytest-rerunfailures -i http://p ...

  3. pytest学习纪要123-针对经常用到的内容详实记录

    pytest123 本文主要参考:https://www.cnblogs.com/yoyoketang/tag/pytest 如有侵权,请站内联系我 目录 pytest123 1.setup和tear ...

  4. Pytest学习(一)- 入门及基础

    前言 十一也赶上自己刚出院,本想在十一放假前用假期刷完Pytest的,结果被希洛克神话吸引,再次回归毒奶粉,一直奋斗到距离上班还有两天,引导石刷没了,就没了智慧. 当然也没出过神话,结果一怒之下卸载, ...

  5. Git学习之常见错误 git push 失败

    Git学习之常见错误 git push 失败 问题描述: git push Counting objects: , done. Delta compression using up to thread ...

  6. ThinkPHP5如何修改默认跳转成功和失败页面

    ThinkPHP5如何修改默认跳转成功和失败页面 一.总结 一句话总结:直接修改默认跳转页面对应的模板文件的路径:'dispatch_success_tmpl' => APP_PATH . 'i ...

  7. JavaWeb学习——页面跳转方式

    JavaWeb学习——页面跳转方式 摘要:本文主要学习了请求转发和响应重定向,以及两者之间的区别. 请求转发 相关方法 使用HttpServletRequest对象的 getRequestDispat ...

  8. [转载]pytest学习笔记

    pytest学习笔记(三)   接着上一篇的内容,这里主要讲下参数化,pytest很好的支持了测试函数中变量的参数化 一.pytest的参数化 1.通过命令行来实现参数化 文档中给了一个简单的例子, ...

  9. pytest学习2-运行方式

    pytest常用运行方式 运行目录及子包下的所有用例: pytest 目录名 运行指定模块所有用例: pytest test_reg.py pytest test_reg.py::TestClass: ...

随机推荐

  1. Spark调优指南

    Spark相关问题 Spark比MR快的原因? 1) Spark的计算结果可以放入内存,支持基于内存的迭代,MR不支持. 2) Spark有DAG有向无环图,可以实现pipeline的计算模式. 3) ...

  2. Linux-redis安装以及客户端搭建

    redis安装: 下载redis数据库,网址:redis官网 将文件放到home或者其他文件夹,cd到文件夹 执行 tar zxvf redis-4.0.2.tar.gz //解压文件 执行make进 ...

  3. 如何开启音乐二倍速?不下载其他软件【win10】

    使用windows自带的windows media player开启N倍速 绪言 额……暑假将终,我想起了件事:貌似我忘记帮你们开好二倍速再走了. 可能我回(六班)来的机会也比较少,废话不多说,直接看 ...

  4. L001.PyQt

    초보자를 위한 Python GUI 프로그래밍 - PyQt5 https://wikidocs.net/book/2944 https://freeprog.tistory.com/330?cat ...

  5. 如何开发自己的第一个 Serverless Component

    前言 上一篇 基于 Serverless Component 的全栈解决方案 介绍 Serverless Component 是什么和如何使用 Serverless Component 开发一个全栈应 ...

  6. java课程学习心得

    首先是枚举,使用enum关键字创建,如:enum {SMALL,MEDIUM,LARGE}之后便可定义Size 的类型变量,并复制为{SMALL,MEDIUM,LARGE};其中一个,注意赋值方法,x ...

  7. Ansible Tower 3.5.1 平台部署和破解

    原创 Ansible Tower 3.5.1 平台部署和破解 Ansible Tower (以前叫’AWX’)是能够帮助任何IT团队更容易使用Ansible的解决方案.该方案基于web. Tower允 ...

  8. Hadoop学习之路(6)MapReduce自定义分区实现

    MapReduce自带的分区器是HashPartitioner 原理:先对map输出的key求hash值,再模上reduce task个数,根据结果,决定此输出kv对,被匹配的reduce任务取走. ...

  9. display: inline-block 布局

    三个元素display: inline-block; 布局 ,其中一个元素中存在其他元素也用了display: inline-block; 无法垂直居中,将这个元素设置为display: inline ...

  10. R语言函数化学习笔记3

    R语言函数化学习笔记3 R语言常用的一些命令函数 1.getwd()查看当前R的工作目录 2.setwd()修改当前工作目录 3.str()可以输出指定对象的结构(类型,位置等),同理还有class( ...