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

news2024/11/29 5:44:38

目录

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)    #该测试结果为通过的例子

测试结果:


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

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

                                

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

qt进阶2:windows下可执行程序崩溃生成dmp,定位崩溃问题。

系列文章目录 文章目录 系列文章目录前言一、dmp文件生成二、使用步骤1.代码案例2.运行截图 前言 qt编译的可执行程序在windows下崩溃可生成dmp文件,用于调试定位崩溃原因。 一、dmp文件生成 略 二、使用步骤 1.代码案例 代码如下(示例)&…

PCB封装库的创建及引入

法1 1.创建lib 2.放置 找到你想要画的封装的器件的数据手册了解相关信息。 直插式选Multi-layer 贴片选Top-layer 焊盘尺寸 焊盘空尺寸 法2 嘉立创eda直接copy 再嘉立创中找到你想要的pcb,导出为ad 然后再ad中找到我们导出的文件 复制他 然后再库中粘贴 pcb库…

十进制,二进制,八进制,十六进制之间转换

一. 十进制转二进制 二. 二进制转十进制 三. 十进制转八进制 四. 八进制转十进制 五. 十进制转十六进制

Java代码基础算法练习-统计学生成绩-2024.04.11

任务描述&#xff1a; 编写程序&#xff0c;输入n个(0<n<50)学生的成绩(输入-1结束)&#xff0c;要求统计并输出优秀(大任务描述:于85)、及格(60~84)和不及格(小于60)的学生人数。(成绩取值范围0~100) 任务要求&#xff1a; 代码示例&#xff1a; /*** 这个程序用于统计…

编程技巧(五) mysql中查询将行转为列逗号隔开拼接

让清单成为一种习惯 互联网时代的变革,不再是简单的开发部署上线,持续,正确,安全地把事情做好尤其重要;把事情做好的前提是做一个可量化可执行的清单,让工程师就可以操作的清单而不是专家才能操作: 设定检查点 根据节点执行检查程序操作确认或边读边做 二者选其一不要太…

近屿OJAC带你解读:什么是大模型幻觉?

概念介绍 大模型幻觉指的是大型语言模型&#xff08;LLM&#xff09;在生成内容时出现的与现实世界事实或用户输入不一致的现象&#xff0c;这种现象可以被视为模型的“胡说八道”。具体来说&#xff0c;大模型的幻觉可以分为事实性幻觉和忠实性幻觉。 事实性幻觉&#xff0c…

[StartingPoint][Tier2]Vaccine

Task 1 Besides SSH and HTTP, what other service is hosted on this box? (除了SSH和HTTP&#xff0c;这个盒子上还托管了什么其他服务) # nmap -sS -T4 10.129.230.43 --min-rate 1000 ftp Task 2 This service can be configured to allow login with any password fo…

Pycharm远程连接服务器配置详解

背景&#xff1a; 相信很多人都遇到了这种情况&#xff0c;日常的开发和程序的验证都需要在linux环境下验证&#xff0c;而我们都是使用本地windows来进行开发或者脚本的编写&#xff0c;然后再push到远程仓库&#xff0c;再到linux环境下pull下来代码验证&#xff0c;这样每次…

【2024】使用Rancher管理k8s集群和创建k8s集群

Rancher管理k8s集群及创建k8s集群。 Rancher版本为:2.8.2目录 rancher管理k8s集群rancher创建k8s集群rancher管理k8s集群 使用rancher管理已经存在的k8s集群。 本部分内容需要自行准备好k8s集群及rancher平台,部署请看本人其他文章 。 登录到rancher平台后,点击集群管理,…

FreeRTOS学习 -- 移植

一、添加FreeRTOS源码 在基础工程中新建一个名为FreeRTOS的文件夹&#xff0c;创建FreeRTOS文件夹以后将FreeRTOS的源码添加到这个文件夹中。 portable 文件夹&#xff0c;只需要保留keil、MemMang 和 RVDS这三个文件夹&#xff0c;其他的都可以删除掉。 移植FreeRTOSConfig…

蓝桥杯-【二分】肖恩的苹果林

思路:有点类似于找最大值的最小化。 代码及解析 常规的模板引用40% #include <bits/stdc.h> using namespace std; #define ll long long const ll N1e53; ll a[N]; ll m,n; ll chack(ll mid) {int res1,last0;for(int i1;i<n;i){ if(a[i]-a[last]>mid){res;las…

微信小程序uniapp+vue电力巡线任务故障报修管理系统2q91t

uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 前端开发:vue 语言&#xff1a;javapythonnodejsphp均支持 运行软件:idea/eclipse/vscode/pycharm/wamp均支持 框架支持:Ssm/django/flask/t…

亚马逊云的账单申诉

亚马逊云科技申诉通常涉及几个步骤&#xff0c;目的是解决账单错误或申请费用调整。以下是一个基本的指南&#xff0c;可以帮助你开始处理账单问题&#xff1a; 1. 审核账单 在开始申诉之前&#xff0c;首先登录到亚马逊云科技管理控制台。 导航到“账单仪表板”以查看当前的…

如何在Python中进行指数和对数曲线拟合?

在本文中&#xff0c;我们将学习如何在Python中进行指数和对数曲线拟合。首先我们要问的问题是什么是曲线拟合&#xff1f; 曲线拟合是构造曲线或数学函数的过程&#xff0c;其具有对一系列数据点的最佳拟合&#xff0c;可能受到约束。 对数曲线拟合&#xff1a;对数曲线是对…

HarmonyOS开发实例:【数字管家app】

一&#xff0e;概述 本应用是基于RK3399开发板&#xff0c;使用OpenHarmony3.1-Release开发的应用。通过OpenHarmony的分布式技术&#xff0c;使多人能够一起画画。 1.应用运行效果图&#xff1a; 2.分布式画板使用示意图 如上图所示&#xff0c;用户1、用户2在各自本地端进行…

【可视化大屏开发】17. 加餐-ECharts定制省份地图

各身份地图数据下载小工具 DataV.GeoAtlas地理小工具系列 登录DataV 后&#xff0c;直接通过选择点击获取需要的省份地区数据 > 其实单击即可完成选择 检查下载的数据格式是否正常 自定义字体 更新地图部分代码 index.less部分 //声明字体 font-face{ font-family: …

ios包上架系列 三、JumpServer 堡垒机使用

1、钉钉申请搜索&#xff08;jumpserver权限申请&#xff09; 服务器信息可以询问产品经理&#xff0c;如有疑问最好当面和运维同事学习 XXX 2、使用钉钉扫码登录 https://jump.xxx.com/ui/#/workbench/assets 3、手机APP Authenticator&#xff0c;打开即可获取验证码 4、…

Clip论文学习

学习过程如上 学习时&#xff0c;图片与文本对应&#xff08;句子&#xff09;&#xff0c;共有n个句子与n个文本&#xff0c;进行对比学习 测试时&#xff0c;将标签句子化&#xff0c;再将其放入encoder中操作。最后找出特征最相似的。 特点&#xff1a;泛化能力强&#x…

VSCode中调试C++程序

目录 一、准备工作&#xff1a;安装插件 1、C/C插件 ​编辑 2、CMake插件 3、CMake tool插件 二、调试过程 1、debug 2、打断点 3、调C/C文件 每次重新调试的时候都忘了具体步骤&#xff0c;直接给自己写个备忘录好了。 一、准备工作&#xff1a;安装插件 1、C/C插件…

全面学习SpringCloud框架指南

要深入学习Spring Cloud框架,你需要系统地掌握其核心组件和概念,并了解如何在实际项目中应用这些知识。以下是一些关键的学习点和相应的学习内容: 一共分为10个模块包括: 1、微服务架构基础: 理解微服务架构的概念和优势。 学习单体架构向微服务架构演进的过程。 掌握…