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

1.unittest.skip(reason)

无条件地跳过装饰的测试,说明跳过测试的原因

2.unittest.skipIf(condition,reason)

如果条件为真时,跳过装饰的测试。

3.unittest.skipUless(condition,reason)

跳过装饰的测试,除非条件为真

4.unittest.expectedFailure()

测试标记为失败。不管执行结果是否失败,统一标记为失败。

代码如下:

 # # coding =utf-8
# # calculator
#
# class Count ():
# def __init__(self, a, b):
# self.a = int (a)
# self.b = int (b)
#
# def add(self):
# return self.a + self.b
#
# def sub(self):
# return self.a - self.b
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):
assertEqual (2, 3) if __name__ == '__main__':
unittest.main ()

如上:第一条测试用例通过@unittest.skip()装饰,直接跳过不执行。

第二条用例通过@unittest.skipIf()装饰,当条件为真时不执行,3>2条件为真(True),跳过不执行。

第三条用例通过@unittest.skipUnless()z装饰,当条件为真时执行,判断3>2条件为真(True),第三条用例执行。

第四条用例通过@unittest.expectedFailure装饰,不管执行结果是否失败,统一标记为失败,但不会抛出错误信息。

这些方法同样可以作用测试类,只需要将他们定义在测试类上面即可。

 import unittest

 @unittest.skip ("直接跳过该测试类")
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):
assertEqual (2, 3) if __name__ == '__main__':
unittest.main ()

Python+selenium之跳过测试和预期失败的更多相关文章

  1. python:unittest之跳过测试和预期失败的用例

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

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

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

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

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

  4. python selenium 使用htmlunit 执行测试。非图形界面浏览器。

    其实就是换个浏览器,只是这个浏览器没有图形界面而已. browser = webdriver.Chrome() 换成 browser = webdriver.Remote(desired_capabi ...

  5. Python selenium执行多个测试脚本时,浏览器多次打开登录账户

    当类里面定义了 setUp() 方法的时候,测试程序会在执行每条测试项前先调用此方法:同样地,在全部测试项执行完毕后,tearDown() 方法也会被调用. 所以当在setUp()中执行打开浏览器后, ...

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

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

  7. python selenium自动化点击页面链接测试

    python selenium自动化点击页面链接测试 需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回 ...

  8. 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试

    Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动 ...

  9. Python网络数据采集7-单元测试与Selenium自动化测试

    Python网络数据采集7-单元测试与Selenium自动化测试 单元测试 Python中使用内置库unittest可完成单元测试.只要继承unittest.TestCase类,就可以实现下面的功能. ...

随机推荐

  1. LeafLet之气泡框隐藏"x"图标

    例子:var marker.bindPopup( "我是一个图标的文本", { minWidth: 300 }).openPopup();L.Popup Constructor(函 ...

  2. 关于从request对象中获取路径的问题

    从request对象中获取路径的问题:例如: 项目名为:tmall_web     请求的servlet名为:loginServlet 示例代码如下: @Override protected void ...

  3. ASP.NET学习笔记(二)语法

    基本的 ASP 语法规则 通常情况下,ASP 文件包含 HTML 标签,类似 HTML 文件.不过,ASP 文件也能够包含服务器端脚本,这些脚本被分隔符 <% 和 %> 包围起来. 在 A ...

  4. 将Date转换成 yyyy-MM-dd 格式的字符串

    // 方法1 原型Date.prototype.format = function (format) {    var o = {        "M+": this.getMon ...

  5. [poj百练]2754:八皇后 回溯

    描述 会下国际象棋的人都很清楚:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题. 对于某个满足要求的8皇后 ...

  6. UGUI CanvasGroup

    说明,这种直接设置alpha的方法跟go的setActive(false)性能差不多,只少了激活和冻结冻结调用 http://blog.csdn.net/qq_28824335/article/det ...

  7. Unite 2017 干货整理 优化篇

    Unite 2017 干货整理 优化篇 2017年05月16日 将Unite 2017的一些演讲做了整理.  本篇有内存,CPU.GC.UI.渲染性能指标.Tips几个小节.  内容持续整理中. 内存 ...

  8. Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml) - Analyzer, tokenizer(4)

    有些时候,我们需要自定义 fieldType.下面的例子就是自定义的 fieldType,<analyzer type="index"> 表示索引时怎么处理,<a ...

  9. 《深入理解Java虚拟机》笔记04 -- 并发锁

    Java虚拟机在操作系统层面会先尽一切可能在虚拟机层面上解决竞争关系,尽可能避免真实的竞争发生.同时,在竞争不激烈的场合,也会试图消除不必要的竞争.实现这些手段的方法包括:偏向锁.轻量级锁.自旋锁.锁 ...

  10. 7.Python初窥门径(数据类型补充,操作及注意事项)

    python(数据类型补充,转换及注意事项) 数据类型补充 str str.capitalize() 首字母大写 str.title() 每个单词首字母大写 str.count() 统计元素在str中 ...