在利用单元测试框架执行测试用例的过程中,有时只需要执行一部分用例,或者跳过某些暂不需要执行的用例,python的unittest框架就内置这样的功能。

前面的博客介绍了unittest框架的测试用例加载和批量执行的内容,這篇博客,介绍下在unittest框架中,如何跳过预期的测试用例。。。

1、unittest.skip()方法

跳过测试和预期失败的功能,是python3.1版本开始,出现的新功能。unittest支持跳过单个测试用例甚至整个测试类。

skip()的各个方法说明如下:

方法 说明
@unittest.skip(reason)

无条件跳过被装饰的测试方法;

reason:理由,描述为什么跳过测试用例

@unittest.skipIf(condition,reason)

如果条件为真,则继续执行执行,否则跳过被装饰的测试用例;

reason:理由,描述为什么跳过测试用例

@unittest.skipUnless(condition,reason) 除非条件为真,否则跳过被装饰的测试用例;
@unittest.expectedFailure

将测试用例标记为“预期失败”:

如果测试执行时失败,则测试结果不计为失败;

unittest.Skip(reason)

如引发某种定义的异常,则跳过该测试;

一般可以使用TestCase.skip()或者一个跳过装饰器,而不是直接使用

官方文档:https://docs.python.org/3.6/library/unittest.html

2、unittest.skip()实例

# coding=utf-8
import unittest
import requests class DemoTest(unittest.TestCase):
status = 200
def setUp(self):
self.url = 'http://www.cnblogs.com/imyalost/' @unittest.skip(u"无条件跳过该测试")
def test_blog1(self):
# 无条件跳过
r1 = requests.get(self.url) @unittest.skipIf(status > 200, u"状态码大于200,就跳过该测试")
def test_blog2(self):
# 如果断言结果为真,则继续执行,否则跳过测试
r2 = requests.get(self.url)
status2 = r2.status_code
self.assertTrue(status2 > self.status) @unittest.skipUnless(status == 404, u"状态码为200,则跳过")
def test_blog3(self):
# 除非结果为真,否则跳过该测试
r3 = requests.get(self.url)
status3 = r3.status_code
self.assertTrue(status3 > self.status) @unittest.expectedFailure
def test_blog4(self):
# 将测试用例标记为“预期失败”,如果测试执行时失败,则测试结果不计为失败
r4 = requests.get(self.url+'/test4')
status4 = r4.status_code
self.assertTrue(status4 ==self.status) def tearDown(self):
pass if __name__ == '__main__':
unittest.main()

代码简析

利用requests库的方法,访问我的博客首页,并且断言get请求的返回状态码,判断是否满足被装饰器修饰的条件,最终执行结果如下:

以上就是unittest框架中关于跳过测试和预期失败的方法示例,仅供参考,具体实践请在实战中自行进行。。。

python:unittest之跳过测试和预期失败的用例的更多相关文章

  1. Python+selenium之跳过测试和预期失败

    在运行测试时,需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败.unittest单元测试框架提供了实现这些需求的装饰器. 1.unittest.skip(re ...

  2. python单元测试框架-unittest(五)之跳过测试和预期失败

    概要 @unittest.skip(reason): skip(reason)装饰器:直接跳过测试,并说明跳过测试的原因. @unittest.skipIf(reason): skipIf(condi ...

  3. unittest跳过测试和预期失败

    在运行测试时,有时需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败.unittest提供了这些需求的装饰器. unittest.skip(reason) 无条 ...

  4. python Unittest+excel+ddt数据驱动测试

    #!user/bin/env python # coding=utf- # @Author : Dang # @Time : // : # @Email : @qq.com # @File : # @ ...

  5. python unittest单元测试框架-3用例执行顺序、多级目录、装饰器、fixtures

    1.用例执行顺序 unittest默认会按照ascii码的顺序,依次执行.类名--方法名排序,使用discover也是默认排序.如果不想使用默认排序,就使用testsuite测试集的方式. impor ...

  6. pytest(9)-标记用例(指定执行、跳过用例、预期失败)

    pytest中提供的mark模块,可以实现很多功能,如: 标记用例,即打标签 skip.skipif标记跳过,skip跳过当前用例,skipif符合情况则跳过当前用例 xfail标记为预期失败 标记用 ...

  7. Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  8. Pytest权威教程12-跳过(Skip)及预期失败(xFail): 处理不能成功的测试用例

    目录 跳过(Skip)及预期失败(xFail): 处理不能成功的测试用例 Skip跳过用例 xFail:将测试函数标记为预期失败 Skip/xFail参数设置 返回: Pytest权威教程 跳过(Sk ...

  9. 【Python + Selenium】之unittest测试用例满足条件,进行跳过测试Skip

    直接上代码: __author__ = 'zc' import unittest class demoSkipTest(unittest.TestCase): a = 70 b = 50 print( ...

随机推荐

  1. 如何制作微信动态表情包 GIF制作工具哪个好

    表情包已经成为我们生活聊天中必不可少的一部分,但是如何制作微信动态表情包呢?自己制作的表情包更加独有个性,今天小编带大家看一波原创表情包的制作方法吧! 使用工具:电脑 操作方法: 1.首先在手机上也是 ...

  2. Link Between SAP SD, MM & FI

    Link Between SAP SD, MM & FI 1. In SAP you will always get integration with other modules. SD wi ...

  3. 系统调用syscall---用户态切换到内核态的唯一途径

    1.应用程序有时需要内核协助完成一些处理,但是应用程序不可能执行内核代码(主要是安全性考虑), 那么,应用程序需要有一种机制告诉内核,它现在需要内核的帮助,这个机制就是系统调用. 2.系统调用的本质是 ...

  4. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机或Docker容器性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 ...

  5. Android为TV端助力 关于线程的那些事

    今天发现之前自己一直有个误区,new Runnable(run()方法){}原来它不是一定创建一个线程 如果用主线程的handler去post(Runnable),他就不会创建子线程,而是在主线程上执 ...

  6. mysql左连接

    举个例子说明: select d.id, d.uid,d.username,d.dateline, d.message,d.replynum, c.picid, c.filename from doi ...

  7. Anaconda管理Python环境

    Anaconda介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项.Anaconda提供环境管理的功能,功能类似 Virtuale ...

  8. javascript的函数、事件

    本文内容: 函数 函数的定义方式 函数的调用方式 函数的参数 匿名函数 函数中的this 事件 常见事件 绑定事件 首发日期:2018-05-11 函数: 函数的定义方式: 函数可以有参数,参数为局部 ...

  9. Spark性能优化【OOM】

    一.异常情况 Spark on yarn模式下,当yarn为client的模式时没有OOM而cluster模式下出现OOM 二.异常分析 由于client模型没有出现OOM而cluster模式出现OO ...

  10. vs2017 代码格式化 文档排版 编辑 设置文档的格式

    vs