27-unittest之断言(assert)

        在测试方法中需要判断结果是pass还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert)。

        使用unittest测试框架时,有很多的断言方法,下面介绍几种常用的断言方法:assertEqual、assertIn、assertTrue。

一、测试代码

import unittest

class Test(unittest.TestCase):
    # 判断 a == b
    def test01(self):
        a = 1
        b = 1
        self.assertEqual(a, b)

    # 判断 a in b
    def test02(self):
        a = "hello"
        b = "hello world!"
        self.assertIn(a, b)

    # 判断 a is True
    def test03(self):
        a = True
        self.assertTrue(a)

    # 失败用例
    def test04(self):
        a = "张三"
        b = "李四"
        self.assertEqual(a, b)

if __name__ == "__main__":
    unittest.main()

二、自定义报错信息

1)分析assertEqual断言方法

assertEqual(self, first, second, msg=None)
    Fail if the two objects are unequal as determined by the '==' operator.
    # 如果两个对象不相等,就返回失败,相当于return: first == second。

2)该断言方法中除了用于比较的两个参数first和second外,还有第三个参数msg=None,这个msg参数就是在断言失败后,可以自定义报错信息。

import unittest

class Demo(unittest.TestCase):
    def test01(self):
        a = 'zhangsan'
        b = 'lisi'
        self.assertEqual(a, b, "失败原因:{} != {}".format(a, b))

if __name__ == '__main__':
    unittest.main()

三、常用的断言方法

# 判断两个参数是否相等:first == second
assertEqual(self, first, second, msg=None)

# 判断两个参数是否不相等:first != second
assertNotEqual(self, first, second, msg=None)

# 判断字符串member是否包含在字符串container中
assertIn(self, member, container, msg=None)

# 判断字符串member是否不包含在字符串container中
assertNotIn(self, member, container, msg=None)

# 判断是否为真:expr is True
assertTrue(self, expr, msg=None)

# 判断是否为假:expr is False
assertFalse(self, expr, msg=None)

# 判断是否为None:obj is None
assertIsNone(self, obj, msg=None)

# 判断是否不为None:obj is not None
assertIsNotNone(self, obj, msg=None)

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

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

相关文章

MySql每天从0开始生成特定规则自增编号

一、前言 1、按一定规则生单号,要求不重复 2、例如:前缀 日期 不重复流水号,whgz-20240528-00001 二、数据库操作 1、MySQL新建一张表sys_sequence seq_name 序列名称 current_val 当前编号 increment_val 步长 CREATE TABLE sys_sequ…

kafka-消费者-消费异常处理(SpringBoot整合Kafka)

文章目录 1、消费异常处理1.1、application.yml配置1.2、注册异常处理器1.3、消费者使用异常处理器1.4、创建生产者发送消息1.5、创建SpringBoot启动类1.6、屏蔽 kafka debug 日志 logback.xml1.7、引入spring-kafka依赖1.8、消费者控制台:1.8.1、第一次启动SpringK…

【案例分享】明道数云为阿联酋迪拜公司Eastman BLDG打造外贸管理系统

内容概要 本文介绍了Eastman公司与明道数云软件的合作,通过数字化解决方案提升了Eastman在贸易管理中的效率。Eastman公司位于阿联酋迪拜,周边城市有门店,人数大概在30,是一家主营瓷砖和石材类产品的贸易公司,面临着各…

C#,JavaScript实现浮点数格式化自动保留合适的小数位数

目标 由于浮点数有漂移问题,转成字符串时 3.6 有可能得到 3.6000000000001,总之很长的一串,通常需要截取,但按照固定长度截取不一定能使用各种情况,如果能根据数值大小保留有效位数就好了。 C#实现 我们可以在基础库里…

linux实验报告

实验一:Linux操作系统的安装与配置 实验目的: 1.掌握虚拟机技术; 2.掌握Linux的安装步骤; 3.掌握安装过程中的基本配置要求。 4.掌握正确启动Linux的方法; 5.掌握正确退出Linux的方法; 6.熟悉已安装…

【Python】把xmind转换为指定格式txt文本

人工智能训练通常需要使用文本格式,xmind作为一种常规格式不好进行解析,那如何把xmind转换为txt格式呢? 软件信息 python python -v Python 3.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64 bit (AMD64)] on win32…

C#知识|通过ADO.NET实现应用程序对数据库的查询操作。

哈喽,你好啊,我是雷工! 前边学习了通过ADO.NET实现C#应用程序对数据库的增、删、改操作。 接下来接着学习查询操作,以下为学习笔记。 查询返回有两种类型,一种是单行单列的单一结果,一种是结果集,首先了解查询结果是单行单列结果的写法。 01 查询返回单一结果 以前方的…

Python编程学习第一篇——Python零基础快速入门(五)—元组(Tuple)操作

Python元组是一种不可变的有序集合,可以存储多个不同类型的数据。元组使用小括号来表示,其中的元素用逗号分隔开。与列表不同,元组的元素不能被修改、删除或添加。它的一些常规操作包括元组的创建、访问、添加、修改、删除、运算等等&#xf…

编译原理-程序设计语言的设计

变量 存储单元及它的名称由变量的概念来代替; 可以代表一个或一组单元,可以修改。 绑定 绑定:一个实体(或对象)与其某种属性建立起某种联系的 过程,称为绑定。 静态绑定:凡是在编译时能确定的属性,称为静态属性; 若绑定在编译时完成,运行时不改变,称为静态…

武汉科技大学,计算机考研全面改考408,24计算机专硕复试线仅298分!武汉科技大学计算机考研考情分析!

武汉科技大学(Wuhan University of Science and Technology)简称“武科大”,坐落于湖北省武汉市,是湖北省人民政府、教育部和六家国家特大型企业共建高校,是湖北省“双一流”建设重点高校,入选国家“中西部…

高考志愿填报自动更新数据小程序开源版开发

高考志愿填报自动更新数据小程序开源版开发 版本一:java开源域名授权(自动更新数据);5999 自研RSCH算法,专业和测评综合推算 微信一键登录注册,免注册获取微信头像、昵称 支持院校和专业优先,…

28 - 只出现一次的最大数字(高频 SQL 50 题基础版)

28 - 只出现一次的最大数字 select (selectnumfromMyNumbers group bynum havingcount(num)1order by num desc limit 1) as num;

Doris insert into 插入语句执行成功,且select查询成功,返回结果不报错,但查不到该插入数据

问题:Doris insert into 正常执行成功,select 查询也执行成功,但查不到该写入数据 原因:由于有其他 insert commit 事务待提交且该任务处于锁的状态,导致不断在回滚,进而造成其他的insert into 语句也执行成…

广西容县“四力”并举提质效,正宇软件助力智慧人大建设

近日,广西容县在提升人大代表履职质效方面取得显著成效,通过汇聚“四力”——活力、动力、合力、能力,成功打造了一个高效、务实的人大代表履职环境。这一成果不仅为当地人大工作树立了新的标杆,也为广西乃至全国的人大代表履职模…

24-unittest简介

一、unittest简介 unittest是Python中常用的单元测试框架,与Java中的Junit单元测试框架类似。 二、示例程序 1)导入unittest模块 import unittest 2)使用help()函数查看源码中的示例程序 help(unittest) Simple usage:import unittestc…

数组和指针的联系(C语言)

数组和指针是两种不同的数据类型,数组是一种构造类型,用于存储一组相同类型的变量;而指针是一种特殊类型,专门用来存放数据的地址。数组名除了sizeof(数组名)和&数组名表示整个数组外,其他情况下都表示的是首元素的…

Visual Studio Code 开发esp8266流程2Arduino 配置 nodemcu

http://arduino.esp8266.com/stable/package_esp8266com_index.json http://arduino.esp8266.com/stable/package_esp8266com_index.json Arduino: Library Manager Arduino: Board

零拷贝技术

背景 磁盘可以说是计算机系统重最慢的硬件之一,读写速度相对内存10以上,所以针对优化磁盘的技术非常的多,比如:零拷贝、直接I/O、异步I/O等等,这些优化的目的就是为了提高系统的吞吐量,另外操作系统内核中的…

【Unity学习笔记】反射

文章目录 前言反射通过反射获取类型 Unity中的反射用反射在Unity中动态加载 前言 在我平时做项目的时候,由于我们做的项目都是很简单的,所以不怎么接触反射机制。最早了解反射机制是关于Invoke的时候,知道可以通过方法名来直接进行Invoke调用…

数字人动作解决方案,塑造逼真动作

在品牌形象塑造、市场推广及客户服务等领域,企业正面临着前所未有的挑战和机遇。为满足企业的需求,美摄科技凭借其在人工智能和计算机视觉领域的深厚积累,推出了面向企业的数字人动作解决方案,助力企业轻松打造逼真、灵活的虚拟形…