Pytest系列(5) - 用例执行的几种状态
如果你还想从头学起Pytest,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1690628.html
用例执行状态
用例执行完成后,每条用例都有自己的状态,常见的状态有
- passed:测试通过
- failed:断言失败
- error:用例本身写的质量不行,本身代码报错(譬如:fixture不存在,fixture里面有报错)
- xfail:预期失败,加了 @pytest.mark.xfail()
error的栗子一:参数不存在
def pwd():
print("获取用户名")
a = "yygirl"
assert a == "yygirl123" def test_1(pwd):
assert user == "yygirl"
为啥是error
pwd参数并不存在,所以用例执行error
error的栗子二:fixture有错
@pytest.fixture()
def user():
print("获取用户名")
a = "yygirl"
assert a == "yygirl123"
return a def test_1(user):
assert user == "yygirl"
为啥是error?
- fixture里面断言失败,所以fixture会报错;
- 因为test_1调用了错误的fixture,所以error表示用例有问题
failed的栗子一
@pytest.fixture()
def pwd():
print("获取密码")
a = "yygirl"
return a def test_2(pwd):
assert pwd == "yygirl123"
为啥是failed
因为fixture返回的变量断言失败
failed的栗子二
@pytest.fixture()
def pwd():
print("获取密码")
a = "polo"
return a def test_2(pwd):
raise NameError
assert pwd == "polo"
为啥是failed
因为用例执行期间抛出了异常
总结
- 测试用例的代码有异常,包括主动抛出异常或代码有异常,都算failed
- 当测试用例调用的fixture有异常,或传入的参数有异常的时候,都算error
- 如果一份测试报告中,error的测试用例数量越多,说明测试用例质量越差
xfail的栗子
# 断言装饰器
@pytest.mark.xfail(raises=ZeroDivisionError)
def test_f():
1 / 0
为啥是xfail
代码有异常,且和raised的异常类匹配,所以是xfail(算测试通过的一种,表示符合期望捕捉到的异常),并不算failed
如果和raised的异常类不匹配,则是failed
Pytest系列(5) - 用例执行的几种状态的更多相关文章
- Pytest测试框架(一):pytest安装及用例执行
PyTest是基于Python的开源测试框架,语法简单易用,有大量的插件,功能非常多.自动检测测试用例,支持参数化,跳过特定用例,失败重试等功能. 安装 pip install -U pytest ...
- 【Android自动化】unittest测试框架关于用例执行的几种方法
# -*- coding:utf-8 -*- import unittest class test(unittest.TestCase): def setUp(self): print 'This i ...
- 【SSH系列】-- Hibernate持久化对象的三种状态
在上一篇博文中,小编主要简单的介绍了[SSH系列]--hibernate基本原理&&入门demo,今天小编来继续介绍hibernate的相关知识, 大家知道,Java对象的生命周期,是 ...
- pytest文档2-用例执行
用例设计原则 1.文件名以test_******.py文件和*******_test.py 2.以test_****开头的函数 3.以Test***开头的类 4.以test_*****开头的方法 5. ...
- Pytest系列(7) - skip、skipif跳过用例
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest.mark.sk ...
- pytest系列(二):筛选用例新姿势,mark 一下,你就知道。
pytest系列(一)中给大家介绍了pytest的特性,以及它的编写用例的简单至极. 那么在实际工作当中呢,我们要写的自动化用例会比较多,不会都放在一个py文件里. 如下图所示,我们编写的用例存放在不 ...
- Pytest学习笔记(二) 用例执行规则
在用pytest执行用例时,可以按照如下场景来执行 1.执行目录及其子目录下的所有用例 pytest filename\ 2.执行某一个py文件下的用例 pytest filename.py 3.-k ...
- pytest框架-介绍、Mark(打标签)、命令运行用例、用例执行顺序、
1.pytest介绍:基于unittest 之上的单元测试框架 1.1.自动发现测试模块和测试用例: unitest 需要添加用例,(泰斯特楼贷)加载器加载测试用例 pytest 只需要一条代码就可以 ...
- 【Pytest05】全网最全最新的Pytest框架之用例分组执行
一.Fixture用例分组运行常用于冒烟测试,分模块运行等 pytest.ini配置文件中增加分组参数markers来实现用例分组,如: markers = g1:组一 smoke:冒烟测试 pyte ...
随机推荐
- 零基础JavaScript编码(一)
任务目的 JavaScript初体验 初步明白JavaScript的简单基本语法,如变量.函数 初步了解JavaScript的事件是什么 初步了解JavaScript中的DOM是什么 任务描述 参考以 ...
- Spring源码阅读笔记04:默认xml标签解析
上文我们主要学习了Spring是如何获取xml配置文件并且将其转换成Document,我们知道xml文件是由各种标签组成,Spring需要将其解析成对应的配置信息.之前提到过Spring中的标签包括默 ...
- sonarqube配置全指南,集成阿里巴巴p3c规范
环境准备 内置数据库 Sonar安装成功后,默认内置H2数据库,用于记录单次的扫描结果,对同一个project重复扫码,会覆盖之前的扫描记录,所以H2 数据库只应用于测试,不可以用于生产环境,那如果你 ...
- Robotutor Scratch3.0 在线编程平台升级啦!
Robotutor推出的Scratch3.0在线编程平台受到很多编程老师和学员的喜爱,上一个版本我们提供了用户注册,找回密码,个人项目的在线保存和浏览,社区分享评论. 我们根据实际的教学需要,用户角色 ...
- 【JAVA进阶架构师指南】之一:如何进行架构设计
前言 本博客是长篇系列博客,旨在帮助想提升自己,突破技术瓶颈,但又苦于不知道如何进行系统学习从而提升自己的童鞋.笔者假设读者具有3-5年开发经验,java基础扎实,想突破自己的技术瓶颈,成为一位优 ...
- Natas14 Writeup(sql注入、sql万能密码)
Natas14: 是一个登录页面.源码如下. if(array_key_exists("username", $_REQUEST)) { $link = mysql_connect ...
- ngzorro draw 第一次打开 ERROR TypeError: Cannot read property 'overlayElement' of undefined
at NzDrawerComponent.push../node_modules/ng-zorro-antd/fesm5/ng-zorro-antd.js.NzDrawerComponent.trap ...
- 【盘它!】那些让效率MAX的工具和方法(Mac篇)
一.前言 人类之所以伟大,是因为会创造并使用工具! 工欲善其事必先利器.高效的工具和方法不仅能最大化 节省我们的时间,还可以一定程度上让我们 保持专注,以达到 事半功倍 的效果. 但仅仅有工具不会使用 ...
- 一明单词本持续更新ing...
introductionshuffingdeployspecifyingreliableclusters programming scalemachinesdeliveringsubmarineadd ...
- django 之 Ajax and so on
MTV与MVC(了解)