Python+Selenium+Unittest 之Unittest5(常用装饰器-跳过用例执行)

目录

1、@unittest.skip()(跳过该装饰器下的用例)

2、@unittest.skipIf()(跳过该装饰器下判断条件为True的用例)

3、@unittest.skipUnless()(跳过该装饰器下判断条件为False的用例)

4、@unittest.expectedFailure()(跳过该装饰器下执行结果失败的用例)


        在unittest中还有几个常用使用例跳过的装饰器,比如@unittest.skip()直接跳过该测试用例、@unittest.skipIf()当判断结果为True时,跳过该用例、@unittest.skipUnless()当判断结果为False时,跳过该测试用例、@unittest.expectedFailure()默认测试结果为失败的,当确实是失败的话跳过该用例,当实际结果为通过时,测试结果显示为失败,下面一个一个来看下

1、@unittest.skip()(跳过该装饰器下的用例)

        @unittest.skip()为可以跳过该测试用例,需要在跳过的用例前加上该装饰器,可以在括号里填上内容,这样可以知道因为什么原因不用执行该用例,具体写法为@unittest.skip('不需要执行的原因'),可以看下面的例子

import unittest     #导入unittest

class Test_zsq(unittest.TestCase):   #定义一个测试类为Test_zsq
    @unittest.skip('这次不用执行')     #给第一个用例加上跳过的装饰器,在后面的括号里可以写原因
    def test1(self):             #定义用例1为test1
        print("test1不会执行")    #用例内容为 打印 test1不会执行
    def test2(self):            #定义用例2为test2
        print("test2需要执行")    #用例内容为 打印 test2需要执行

执行结果:

2、@unittest.skipIf()(跳过该装饰器下判断条件为True的用例)

        @unittest.skipIf()为条件判断为True时会跳过该条用例,括号里需要填判断条件和跳过的原因, @unittest.skipIf(判断条件,跳过的原因),可以看下下面例子,用例test1的判断条件为True,所以在执行时,跳过了该用例没有执行,用例test2的判断条件为False,所以对该用例进行了执行。

import unittest     #导入unittest

class Test_zsq(unittest.TestCase):   #定义一个测试类为Test_zsq
    @unittest.skipIf(True,"判断为true时跳过")     #给第一个用例加上判断为True时不执行的装饰器,在后面的括号里可以判断条件和原因,使其判断结果为True
    def test1(self):             #定义用例1为test1
        print("test1不会执行")    #用例内容为 打印 test1不会执行

    @unittest.skipIf(False, "判断为False时执行")  # 给第二个用例加上判断为True时不执行的装饰器,在后面的括号里可以判断条件和原因,使其判断结果为False
    def test2(self):            #定义用例2为test2
        print("test2需要执行")    #用例内容为 打印 test2需要执行

执行后的结果为:

3、@unittest.skipUnless()(跳过该装饰器下判断条件为False的用例)

       @unittest.skipUnless()和@unittest.skipIf()两个的用法一样,只是判断的条件是相反的,@unittest.skipIf()为判断的条件是True跳过,而 @unittest.skipUnless()是当判断的条件为False时跳过,使用方式都是在括号里填上判断条件和跳过的原因即可,@unittest.skipUnless(判断条件,跳过的原因)。

import unittest     #导入unittest

class Test_zsq(unittest.TestCase):   #定义一个测试类为Test_zsq
    @unittest.skipUnless(True,"判断为true时执行")     #给第一个用例加上判断为False时不执行的装饰器,在后面的括号里可以判断条件和原因,使其判断结果为True
    def test1(self):             #定义用例1为test1
        print("test1需要执行")    #用例内容为 打印 test1不会执行

    @unittest.skipUnless(False, "判断为False时跳过")  # 给第二个用例加上判断为False时不执行的装饰器,在后面的括号里可以判断条件和原因,使其判断结果为False
    def test2(self):            #定义用例2为test2
        print("test2不会执行")    #用例内容为 打印 test2需要执行

执行后的结果为:

4、@unittest.expectedFailure()(跳过该装饰器下执行结果失败的用例)

        @unittest.expectedFailure()是用例标记该测试用例的预期结果为不通过状态的装饰器,加上该装饰器后,当用例为失败的状态时,在执行时会跳过该用例,而当下面的用例为通过状态时,测试结果会显示为未通过,可以看下下面的例子。

import unittest     #导入unittest

class Test_zsq(unittest.TestCase):   #定义一个测试类为Test_zsq
    @unittest.expectedFailure    #给第一个用例加上@unittest.expectedFailure装饰器,并使用例为是失败的状态
    def test1(self):             #定义用例1为test1
        self.assertEqual(1,2)    #该测试结果为失败的例子


    @unittest.expectedFailure   #给第二个用例加上@unittest.expectedFailure装饰器,并使用例为是通过的状态
    def test2(self):            #定义用例2为test2
        self.assertEqual(1, 1)    #该测试结果为通过的例子

测试结果:


  如果大家在使用过程中遇到了问题,可以在文章下留言,或者关注公众号:刘阿童木的进化记录,进行留言

                   下图为公众号二维码,内容会同步发出,大家可以关注一起学习!

                                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/534923.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【java探索之旅】走进循环结构 深入解析while、for和do while的用法

🎥 屿小夏 : 个人主页 🔥个人专栏 : Java编程秘籍 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一、循环结构1.1 while循环1.2 while代码示例1.3 break1.4 continue 二、for循环2.1 基…

Cohere推出全新升级版RAG大型AI模型:支持中文,搭载1040亿参数,现开源其权重!

4月5日,知名类ChatGPT平台Cohere在其官方网站上发布了一款全新的模型——Command R。 据官方消息,Command R拥有1040亿个参数,并且支持包括英语、中文、法语、德语在内的10种语言。这一模型的显著特点之一在于其对内置的RAG(检索增…

网工内推 | 网安、AGV测试网络工程师,厂商认证优先,应届可投

01 神州数码 招聘岗位:网络工程师 职责描述: 1、负责国内外主流安全产品(如防火墙、入侵防御、WAF、安全审计等)的上线安装、调试、测试、割接、运维等工作。 2、能够独立进行安全类项目实施、问题排查及处理。 3、在出现网络攻…

量子城域网系列(二):量子密钥与通信系统中各层协议融合应用

写在前面。国家标准中对量子保密通信的定义:量子保密通信是利用QKD与其他密码技术结合形成的保密通信技术。 经过这段时间的讨论,我们基本上明白了量子保密通信的内涵、基础协议、技术原理等。我们知道了当前语境下的量子密钥分发网络核心是实现两点之间…

Ubuntu系统使用Docker本地部署Android模拟器并实现公网访问

文章目录 1. 虚拟化环境检查2. Android 模拟器部署3. Ubuntu安装Cpolar4. 配置公网地址5. 远程访问小结 6. 固定Cpolar公网地址7. 固定地址访问 本文主要介绍如何在Ubuntu系统使用Docker部署docker-android安卓模拟器,并结合cpolar内网穿透工具实现公网远程访问本地…

数据分析:小红书爆火赛道的内容洞察

导语 近期,一个名为女生独立计划 的账号于今年2月29日在小红书上发布了第一条作品,而后的40天内,该账号又陆续发布16条作品,目前粉丝量已经达到30W。 那么短期内快速崛起的女生独立计划 内容有何突出之处?且听小编和…

注意力机制篇 | YOLOv8改进之清华开源ACmix:自注意力和CNN的融合 | 性能速度全面提升

前言:Hello大家好,我是小哥谈。混合模型ACmix将自注意力机制和卷积神经网络进行整合,使其同时具有自注意力机制和卷积神经网络的优点。这是清华大学、华为和北京人工智能研究院共同发布在2022年CVPR中的论文。ACmix结合了自注意力机制和卷积神经网络的优势,以提高模型的性能…

Linux权限问题补全—4

1.第二种修改权限的方法: 使用八进制方式修改文件权限,可以一次修改拥有者,所属组,other,三者的权限。举例: ①将三者的权限都修改为可读,可写,可执行 ②将所有用户的权限都取消rwx权…

python 如何获得重定向输入

通过内置的fileinput模块即可实现,创建文件filein.py: #!/usr/bin/env python import fileinput f_input fileinput.input() for line in f_input:print(line, end)增加可执行权限: chmod ax filein.py 使用: $ ls | ./filein.py…

【JavaScript】对象 ① ( 对象概念 | 对象使用场景 | 使用字面量创建对象 | 空对象字面量 | 小括号 / 中括号 / 大括号 作用 )

文章目录 一、JavaScript 对象1、对象概念2、对象使用场景 二、使用字面量创建对象1、使用字面量创建对象2、小括号 / 中括号 / 大括号 作用3、代码示例 - 使用字面量创建对象4、代码示例 - 使用字面量创建空对象 一、JavaScript 对象 1、对象概念 在 JavaScript 中 , 对象 是 …

算法训练营第24天回溯(组合)

回溯(组合) 模板 void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {处理节点;backtracking(路径,选择列表); // 递归回溯&…

OpenHarmony南向统一编译的docker镜像来了

由于我自己的南向设备开发平台的需求,我将当前几个不同的 docker 镜像版本进行了整合,经过一段时间的攻关和验证,目前整合已完成,新版本的 Dockerfile 如下,这个不是公共需求,所以没有提交主干,…

SAP SD学习笔记03 - SD模块中的主数据

上一章讲了SD中的组织单位和SD的简单流程。 SAP SD学习笔记02 - 销售流程中的组织单位-CSDN博客 SAP SD学习笔记01 - 简单走一遍SD的流程:受注,出荷,请求-CSDN博客 这一章讲SD中的主数据: - 得意先Master(客户&…

Springboot 大事务问题的常用优化方案

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java全栈-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 1.前言 2.什么是大事务 3.解决办法 3.1.少用Transactional注解 3.2..将查询…

贝康医疗交出2023年答卷:收入增长超47%,并购夯实领头羊地位

2023年6月,国家医保局印发《辅助生殖类医疗服务价格项目立项指南(试行)》,将全国各地原有的37项辅助生殖类项目分类整合为12项。 据北京日报统计,国家医保局截至目前已指导21个省份对照立项指南整合辅助生殖类项目&am…

ChatGPT在日常生活与工作中的应用,以及Hulu AI 的探索之旅

ChatGPT在日常生活与工作中的应用,以及Hulu AI 的探索之旅 💬ChatGPT 的多面应用💬Hulu AI:一个AI工具聚合平台的探索平台优势为何选择Hulu AI?珍稀优惠 💬结束语 在数字化快速发展的当下,人工智…

详解Spring event如何优雅实现系统业务解耦、实现原理及使用注意项

1.概述 在我们平时的项目业务系统开发过程中,一个需求功能的业务逻辑经常出现主线业务和副线业务之分。比如,在当下移动端电商app进行注册账号操作,注册成功之后会发送短信、邮箱、站内信等通知,发放红包活动抵用券,推…

20210620 1+X 中级实操考试(id:2496)

完成实体类 Student public class Student {private String name;//学生姓名private String pwd;//学生密码public Student(String name, String pwd) {this.name name;this.pwd pwd;}public Student() {}//已经提供Student类的属性,补充完成该类的有参&#xff…

谁才是国内的“OpenAI”?国产大模型五虎之——百川智能

前言: 在上一篇大模型五虎的文章中,我们介绍了国内估值最高的大模型企业——智谱AI,它们拥有自研的 GLM(General Language Model)算法框架,从最初追逐OpenAI的脚步,到“不愿做国内的OpenAI”&am…

【2024.4.11练习】国际象棋

题目描述 题目思路 棋盘类问题是一类典型的状态压缩dp问题,将0设为不摆放象棋,1设为摆放象棋。这样棋盘的每一列都可以变成01的序列。每一列有8个格子,所以每列总共有种摆放情况。为了完成递推,需要写出以下功能的预处理函数 ini…