Pytest学习6-跳过或xfail失败的用例
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失败的用例的更多相关文章
- pytest学习8-运行上次执行失败的用例
该插件提供了两个命令行选项,用于重新运行上次pytest调用的失败: --lf,--last-failed- 只重新运行上次失败的用例,如果没有失败则全部运行 --ff,--failed-first- ...
- Pytest学习(十一)- 失败重跑插件pytest-rerunfailures的使用
环境依赖 Python 3.5, 最高 3.8, or PyPy3 pytest 5.0或更高版本 插件安装 pip3 install pytest-rerunfailures -i http://p ...
- pytest学习纪要123-针对经常用到的内容详实记录
pytest123 本文主要参考:https://www.cnblogs.com/yoyoketang/tag/pytest 如有侵权,请站内联系我 目录 pytest123 1.setup和tear ...
- Pytest学习(一)- 入门及基础
前言 十一也赶上自己刚出院,本想在十一放假前用假期刷完Pytest的,结果被希洛克神话吸引,再次回归毒奶粉,一直奋斗到距离上班还有两天,引导石刷没了,就没了智慧. 当然也没出过神话,结果一怒之下卸载, ...
- Git学习之常见错误 git push 失败
Git学习之常见错误 git push 失败 问题描述: git push Counting objects: , done. Delta compression using up to thread ...
- ThinkPHP5如何修改默认跳转成功和失败页面
ThinkPHP5如何修改默认跳转成功和失败页面 一.总结 一句话总结:直接修改默认跳转页面对应的模板文件的路径:'dispatch_success_tmpl' => APP_PATH . 'i ...
- JavaWeb学习——页面跳转方式
JavaWeb学习——页面跳转方式 摘要:本文主要学习了请求转发和响应重定向,以及两者之间的区别. 请求转发 相关方法 使用HttpServletRequest对象的 getRequestDispat ...
- [转载]pytest学习笔记
pytest学习笔记(三) 接着上一篇的内容,这里主要讲下参数化,pytest很好的支持了测试函数中变量的参数化 一.pytest的参数化 1.通过命令行来实现参数化 文档中给了一个简单的例子, ...
- pytest学习2-运行方式
pytest常用运行方式 运行目录及子包下的所有用例: pytest 目录名 运行指定模块所有用例: pytest test_reg.py pytest test_reg.py::TestClass: ...
随机推荐
- nodejs编程优化
如何编写优化的 JavaScript 对象属性的顺序:始终以相同的顺序实例化对象属性,以便共享的隐藏类和随后优化的代码可以共享之. 动态属性:在实例化之后向对象添加属性将强制执行隐藏的类更改,并降 ...
- 【Asp.net】 七大内置对象
本文主要分析Asp.net的7大内置对象. 利用提供的内置对象可以实现页面之间的数据传递和一些特定的功能,如数据输出,页面重定向等.5个核心常用内置对象分别是Application,Session, ...
- 基于element-ui 模仿微信聊天页面以及滚动条隐藏在chrome和其他浏览器的处理
1.效果图 2.代码 <template> <div style=" overflow: hidden;"> <el-row> <el-c ...
- Selenium实战(五)——HTML测试报告
一.概览下载与安装 HTMLTestRunner是unittest的一个扩展,可以生成易于使用的HTML测试报告.HTMLTestRunner是在BSD许可证下发布的. 下载地址:http://tun ...
- webserver代理生成本地类的两种方式
方式1,把webservers地址请求出来的xml拷贝出来放到文本里面后缀改成wsdl文件在VS里面使用下列命令 C:\Program Files (x86)\Microsoft SDKs\Windo ...
- Java 【循环语句】
一.java循环语句分支 二.for循环 在java中for循环和C的循环用法一样 public class demo{ public static void main(String[] args){ ...
- Magento2 观察者模式 之 插件
etc/di.xml 定义如下: <type name="Magento\Quote\Model\Quote\Item\ToOrderItem"> <plugin ...
- lvs基础
lvs类型 lvs-nat: 上下文为masquerade 多目标的DNAT(iptables): 它通过修改请求报文的目标IP地址(同时可能会修改目标端口)至挑选出某RS的RIP地址实现转发: 特性 ...
- Spark学习之路 (二十八)分布式图计算系统[转]
引言 在了解GraphX之前,需要先了解关于通用的分布式图计算框架的两个常见问题:图存储模式和图计算模式. 图存储模式 巨型图的存储总体上有边分割和点分割两种存储方式.2013年,GraphLab2. ...
- Miller_Rabin()算法素数判定 +ollard_rho 算法进行质因数分解
//****************************************************************// Miller_Rabin 算法进行素数测试//速度快,而且可以 ...