(四十二)Unittest单元测试框架之关于unittest还需要知道的-跳过测试和预期失败
随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
学习selenium自动化之前,最好先学习HTML、CSS、JavaScript等知识,有助于理解定位及操作元素的原理。关于python和selenium安装请自行搜索别的资料,这里就不多做介绍了,所有例子均使用python3.6+selenium执行的。
#------------------------------------------------我是可耻的分割线-------------------------------------------
在运行测试时,有时需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败。unittest提供了实现这些需求的装饰器。
unittest.skip(reason) 无条件地跳过装饰的测试,说明跳过测试的原因。
unittest.skipIf(condition,reason) 跳过转世的测试,如果条件为真时。
unittest.skipUnless(condition,reason) 跳过转世的测试,出发条件为真。
unittest.expectedFailure() 测试标记为失败。不管执行结果是否失败,统一标记为失败。
新建test.py
import unittest class MyTest(unittest.TestCase):
def setUp(self):
pass def tearDown(self):
pass @unittest.skip("直接跳过测试")
def test_skip(self):
print('test aaa') @unittest.skipIf(3 > 2,"当条件为True时跳过")
def test_skip_if(self):
print('test bbb') @unittest.skipUnless(3 > 2, "当条件为True时执行测试")
def test_skip_Unless(self):
print('test ccc') @unittest.expectedFailure
def test_expected_failure(self):
self.assertEqual(2,3) if __name__ == '__main__':
unittest.main()
运行结果:

上例中共创建了4条测试用例。第一条测试用例通过@unittest.skip()装饰,直接跳过不执行。第二条用例通过@unittest.skipIf()装饰,当条件为真时不执行,3>2条件为真(True),跳过不执行。第三条用例@unittest.skipUnless()装饰,当条件为真时执行,判断3 > 2条件为真(True),第三条用例执行。第四条用例通过 @unittest.expectedFailure装饰,不管执行结果是否失败,同意标记为失败,但不会抛出错误信息。
当然,这些方法同样可以作用域测试类,只需将它们定义在测试类上面即可。
@unittest.skip("直接跳过测试")
class MyTest(unittest.TestCase):
def setUp(self):
pass
(四十二)Unittest单元测试框架之关于unittest还需要知道的-跳过测试和预期失败的更多相关文章
- python:unittest之跳过测试和预期失败的用例
在利用单元测试框架执行测试用例的过程中,有时只需要执行一部分用例,或者跳过某些暂不需要执行的用例,python的unittest框架就内置这样的功能. 前面的博客介绍了unittest框架的测试用例加 ...
- Selenium(十五):unittest单元测试框架(一) 初识unittest
1. 认识unittest 什么是单元测试?单元测试负责对最小的软件设计单元(模块)进行验证,它使用软件设计文档中对模块的描述作为指南,对重要的程序分支进行测试以发现模块中的错误.在python语言下 ...
- python单元测试框架-unittest(五)之跳过测试和预期失败
概要 @unittest.skip(reason): skip(reason)装饰器:直接跳过测试,并说明跳过测试的原因. @unittest.skipIf(reason): skipIf(condi ...
- unittest跳过测试和预期失败
在运行测试时,有时需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败.unittest提供了这些需求的装饰器. unittest.skip(reason) 无条 ...
- Selenium(十六):unittest单元测试框架(二) 初识unittest(续)
1. 认识unittest(续) 关于unittest单元测试框架,还有一些问题值得进一步探讨.你可能在前一章的学习过程中产生了一些疑问,也许你会在本节中找到答案. 1.1 用例执行的顺序 用例的执行 ...
- Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架
一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...
- unittest单元测试框架
unittest单元测试框架 概述: 单元测试框架主要用来完成以下三件事: 提供用例组织与执行:当测试用例只有几条时,可以不必考虑用例的组织,但是当用例达到成百上千条时,大量的用例堆砌在一起,就产生了 ...
- Selenium+Python ---- 免登录、等待、unittest单元测试框架、PO模型
1.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...
- Python+selenium之简单介绍unittest单元测试框架
Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是 ...
- 虫师Selenium2+Python_7、unittest单元测试框架
P173--通过unittest单元测试框架别写测试用例 from calculator import Count import unittest class TestCount(unittest ...
随机推荐
- 【剑指Offer】【数组】数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2.如果 ...
- risv RV32I寄存器全称
- LP1-4:功能图分析方法(白盒测试)
- 创建一个spring项目
- Centos 7 部署Kubernetes集群 (基于cri-dockerd)
前言 基础描述 从 k8s 1.24开始,dockershim已经从kubelet中移除,但因为历史问题docker却不支持kubernetes主推的CRI(容器运行时接口)标准,所以docker不能 ...
- Flink常见问题解决记录
1.Hardlink from files of previous local stored state might cross devices 开启了state.backend.local-reco ...
- Selenium私房菜系列7 -- 深入了解Selenium RC工作原理(2)【II】
继续前一篇的问题,为什么Selenium RC中的Selenium Server需要以这种代理服务器的形式存在?其实,这和浏览器的"同源策略"(The Same Origin Po ...
- centos7本地yum配置和使用
1.打开centos的yum文件夹 输入命令cd /etc/yum.repos.d/ 2.用wget下载repo文件 输入命令wget http://mirrors.aliyun.com/repo ...
- 如何给img标签指定默认显示的图片?(已解决)
1. 使用场景 页面上有很多图片,或者图片很大,这都会使加载的时候出现大片空白,影响用户体验. 2. 解决办法 在CSS里给img指定默认显示的图片,以下是代码: { //**** backgroun ...
- DOS命令操作
打开CMD的方式 1.开始+系统+命令提示符 2.Win键+R 输入CMD打开控制台(推荐使用) 3.在任意的文件夹下面,按住shift+鼠标右键点击,在此处打开命令行窗口 4.资源管理器的地址栏前面 ...