1、什么是跳过测试

当测试用例写完后,有些模块有改动时候,会影响到部分用例的执行,这个时候我们希望暂时跳过这些用例。或者前面某个功能运行失败了,后面的几个用例是依赖于这个功能的用例,如果第一步就失败了,后面的用例也就没必要去执行了,为了节省用例执行时间,可选择直接跳过测试。

2、常用的跳过测试方法和装饰器

当执行有想要跳过的测试,我们可以通过skipskipIfskipUnless装饰器跳过某个测试方法或者测试类。

  1. @unittest.skip(reason)skip(reason)装饰器,无条件跳过装饰的测试,并说明跳过测试的原因。
  2. @unittest.skipIf(reason)skipIf(condition,reason)装饰器,条件为真时,跳过装饰的测试,并说明跳过测试的原因。
  3. @unittest.skipUnless(reason)skipUnless(condition,reason)装饰器,条件为假时,跳过装饰的测试,并说明跳过测试的原因。
  4. @unittest.expectedFailure:测试标记为失败。

3、跳过测试示例

"""
1.学习目标
了解unittest中跳过测试方法使用
2.语法
2.1 放置在需要跳过的测试用例之前
@跳过测试方法
测试用例
2.2 分类
@unittest.skip(跳过原因):表示无条件跳过执行
@unittest.skipIf(判断条件,跳过原因): 当判断条件为真时,跳过测试
@unittest.skipUnless(判断条件,跳过原因):当判断条件为假时,跳过测试
@unittest.expectedFailure: 直接将用例标记为失败
3.需求
编写测试类,使用跳过测试
"""
# 1 导入unittest
import unittest # 2 创建测试类
class Test_demo(unittest.TestCase): # 3 编写test case
# 第一条测试用例正常执行
def test_case_01(self):
"""测试用例1"""
print("执行测试用例1") # 添加skip,不执行测试
@unittest.skip("无条件跳过")
def test_case_02(self):
"""测试用例2"""
print("执行测试用例2") # 添加skipif,条件为真跳过测试
@unittest.skipIf(True, "条件为真,跳过测试")
def test_case_03(self):
"""测试用例3"""
print("执行测试用例3") # 添加skipIf,条件为假执行测试
@unittest.skipIf(2 > 3, "条件为假,执行用例")
def test_case_04(self):
"""测试用例4"""
print("执行测试用例4") # 添加skipUnless,条件为假不执行测试
@unittest.skipUnless(False, "条件为假,跳过测试")
def test_case_05(self):
"""测试用例5"""
print("执行测试用例5") # 添加skipUnless,条件为真执行测试
@unittest.skipUnless(True, "条件为真,执行用例")
def test_case_06(self):
"""测试用例6"""
print("执行测试用例6") # 添加expectedFailure,直接将用例标记为失败
@unittest.expectedFailure
def test_case_07(self):
"""测试用例7"""
print("执行测试用例7") def test_case_08(self):
"""测试用例8"""
print("执行测试用例8") if __name__ == '__main__':
# 执行当前测试类中,以test开头的测试用例
unittest.main()

执行结果

4、TestCase.skipTest()方法

TestCase.skipTest()方法跳过某个测试方法(了解)。

示例

# 1 导入unittest
import unittest # 2 创建测试类
class TestDmeo(unittest.TestCase): # 3 编写test case
def test_case_01(self):
"""测试用例1"""
print("执行测试用例1") #  TestCase.skipTest()方法
def test_case_02(self):
"""测试用例2"""
# 跳过测试方法
self.skipTest('跳过用例test_case2')
print("执行测试用例2") if __name__ == '__main__':
# 执行当前测试类中,以test开头的测试用例
unittest.main()

执行结果

『心善渊』Selenium3.0基础 — 27、unittest跳过测试的使用的更多相关文章

  1. 『心善渊』Selenium3.0基础 — 24、Selenium的expected_conditions模块详细介绍

    目录 1.EC模块介绍 2.EC模块常用类 3.EC模块的使用 4.EC模块综合使用 (1)title_is(title)示例 (2)presence_of_element_located(locat ...

  2. 『心善渊』Selenium3.0基础 — 11、Selenium对元素常用操作

    目录 1.Selenium对元素常用操作 2.Selenium对元素的其他操作 1.Selenium对元素常用操作 操作 说明 click() 单击元素 send_keys() 模拟输入 clear( ...

  3. 『心善渊』Selenium3.0基础 — 12、Selenium操作鼠标和键盘事件

    目录 (一)对鼠标的操作 1.鼠标事件介绍 2.ActionChains 类鼠标操作的常用方法 3.perform()方法 4.鼠标事件操作步骤 5.示例 (1)右键单击.左键双击 (2)鼠标拖拽动作 ...

  4. 『心善渊』Selenium3.0基础 — 1、Selenium自动化测试框架介绍

    目录 1.Selenium介绍 2.Selenium的特点 3.Selenium版本说明 4.拓展:WebDriver与Selenium RC的区别 5.Webdriver工作原理 1.Seleniu ...

  5. 『心善渊』Selenium3.0基础 — 3、使用Selenium操作浏览器对象的基础API

    目录 1.导入Selenium库 2.创建浏览器对象 3.浏览器窗口大小设置 4.浏览器位置设置 5.请求访问网址 6.浏览器页面前进.后退和刷新 7.关闭浏览器 相比于高大上的各种Selenium进 ...

  6. 『心善渊』Selenium3.0基础 — 25、unittest单元测试框架

    目录 1.unittest基本简介 2.unittest基本概念 (1)unittest核心的四个概念 (2)如何创建一个测试类 (3)test fixture常用的四个方法 (4)unittest编 ...

  7. 『心善渊』Selenium3.0基础 — 26、unittest测试框架的断言

    目录 1.断言介绍 2.常用的断言方法 3.断言示例 1.断言介绍 在执行测试用例的过程中,最终用例是否执行通过,是通过判断测试得到的实际结果和预期结果是否相等决定的,这时会用到断言方法. 本着没有消 ...

  8. 『心善渊』Selenium3.0基础 — 2、Selenium测试框架环境搭建(Windows)

    目录 1.浏览器安装 2.浏览器驱动下载 (1)ChromeDriver for Chrome (2)Geckodriver for Firefox (3)IEDriverServer for IE ...

  9. 『心善渊』Selenium3.0基础 — 4、Selenium基础元素定位详解

    目录 1.什么是元素定位 2.Selenium元素定位常用API (1)By_id 定位 (2)by_name 定位 (3)by_class_name 定位 (4)by_tag_name 定位 (5) ...

随机推荐

  1. 使用Typora编写Markdown你真的会了吗

    目录 Typora 介绍 使用 常用快捷键 概述 标题 一级标题 二级标题 方式(推荐) 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 段落 粗体斜体删除线 下划线 注释 分割线 脚注 ...

  2. 『动善时』JMeter基础 — 32、JMeter察看结果树组件详解

    目录 1.察看结果树介绍 2.察看结果树界面详解 3.察看结果树的其他功能 (1)将数据写入文件中 (2)Search功能 (3)Scroll automatically选项 4.总结 1.察看结果树 ...

  3. [leetcode] 45. 跳跃游戏 II(Java)(动态规划)

    45. 跳跃游戏 II 动态规划 此题可以倒着想. 看示例: [2,3,1,1,4] 我们从后往前推,对于第4个数1,跳一次 对于第3个数1,显然只能跳到第4个数上,那么从第3个数开始跳到最后需要两次 ...

  4. 【注意力机制】Attention Augmented Convolutional Networks

    注意力机制之Attention Augmented Convolutional Networks 原始链接:https://www.yuque.com/lart/papers/aaconv 核心内容 ...

  5. OFRecord 图片文件制数据集

    OFRecord 图片文件制数据集 在 OFRecord 数据格式 和 加载与准备 OFRecord 数据集 中,分别学习了 OFRecord 数据格式,以及如何将其它数据集转为 OFRecord 数 ...

  6. 基于redis实现的四种常见的限流策略

    引言 在web开发中功能是基石,除了功能以外运维和防护就是重头菜了.因为在网站运行期间可能会因为突然的访问量导致业务异常.也有可能遭受别人恶意攻击 所以我们的接口需要对流量进行限制.俗称的QPS也是对 ...

  7. sql server数据库性能优化之2-避免使用CTE公用表达式的递归【by zhang502219048】

    数据库优化中的一个实例,记录一下: 1. 原来用了CTE公用表达式的递归,reads高达约40万,看查询执行计划,使用了Nested Loops: 2. 优化去掉递归,改用其它方式实现,reads降低 ...

  8. js 统计图插件chart.js

    chart是一个纯js插件,它功能强大小巧使用也很简单. 第一步引入 chart.js . <script type="text/javascript" src=" ...

  9. linux下的对拍程序

    在比赛中我们通常会先打暴力 正解的正确与否,如果数据过大,我们就要用到对拍程序 1 #include<bits/stdc++.h> 2 using namespace std; 3 int ...

  10. 【单调栈】【前缀和】【二分查找】8.28题解-long

    long 题目描述 AP神牛准备给自己盖一座很华丽的宫殿.于是,他看中了一块N*M的矩形空地.空地中每个格子都有自己的海拔高度.AP想让他的宫殿的平均海拔在海平面之上(假设海平面的高度是0,平均数都会 ...