首页 > 其他分享 >27-unittest之断言(assert)

27-unittest之断言(assert)

时间:2024-06-06 18:32:20浏览次数:32  
标签:__ None 27 unittest assert second msg self

        在测试方法中需要判断结果是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)

标签:__,None,27,unittest,assert,second,msg,self
From: https://blog.csdn.net/zhangzhan0813/article/details/139479942

相关文章

  • 26-unittest之装饰器(@classmethod)
            unittest中的setUp可以在每个测试方法运行前执行,有效的减少了代码量。但有个弊端,比如打开浏览器操作,执行每个测试方法前都要重新打开一次,这样就会浪费很多时间。        是否可以只打开一次浏览器,执行完所有的测试方法后再关闭浏览器呢?这里就需要用到......
  • 25-unittest执行顺序
            在使用unittest框架时,各个测试方法的执行顺序是怎样的,本篇通过简单案例讲解unittest执行顺序。一、定义测试类importunittestclassDemo(unittest.TestCase):defsetUp(self):print("start!")deftearDown(self):print("end......
  • 24-unittest简介
    一、unittest简介        unittest是Python中常用的单元测试框架,与Java中的Junit单元测试框架类似。二、示例程序1)导入unittest模块importunittest2)使用help()函数查看源码中的示例程序help(unittest)Simpleusage:importunittestclassIntegerAr......
  • 代码随想录算法训练营第一天 | 704. 二分查找 27. 移除元素
    704.二分查找题目:给定一个n个元素有序的(升序)整型数组和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。提示:1.你可以假设nums中的所有元素是不重复的。2.n将在[1,10000]之间。3.nums的每个元素都将在[-9999,9999]之间。解题:思路:二......
  • 面向互联世界的AGFA027R24C2I2V、AGFA027R24C3E4X、AGFA027R24C2E3V、AGFA027R24C3I3V
    Agilex™FPGA产品组合包含一系列产品,可充分满足每一个技术领域(从边缘到嵌入式系统,再到通信和数据中心)的众多可编辑逻辑需求。在所有这些领域中,数据爆炸导致新产品需求激增,以便移动、处理和存储数据并从中获得可执行的深度分析。这些产品的开发人员需要硬件灵活性来应对不断变化......
  • 文心一言 VS 讯飞星火 VS chatgpt (275)-- 算法导论20.3 2题
    二、修改vEB树以支持带有卫星数据的关键字。如果要写代码,请用go语言。文心一言:vEB树(vanEmdeBoas树)是一种用于处理稀疏位集合的高效数据结构,它允许在常数时间内执行查找、插入、删除和前驱/后继操作。然而,标准的vEB树并不直接支持带有卫星数据的关键字。要支持带有......
  • P2716 和谐的雪花
    这道题P2716和谐的雪花本质和P2216[HAOI2007]理想的正方形是一模一样的,评蓝有点高了。本题解解法为单调对列。当然,看题目,是可以使用ST表或者线段树之类的做。中心思想就是用单调队列维护固定区间内最大最小值,加上二分答案。根据题意,很容易想象到二分\(n\)的取值,剩下......
  • 27、matlab傅里叶变换:fft()函数
    1、fft 快速傅里叶变换语法Y=fft(X)使用快速傅里叶变换(FFT)算法计算X的离散傅里叶变换(DFT)。Y=fft(X,n)返回n点DFT。Y=fft(X,n,dim)返回沿维度dim的傅里叶变换。例如,如果X是矩阵,则fft(X,n,2)返回每行的n点傅里叶变换含噪信号1)原始信号加噪声......
  • 2024年6月 AWVS -24.4.27详细安装教程附下载教程含windows和linux多版本
    免责声明请勿利用文章内的相关技术从事非法测试。由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,请务必遵守网络安全法律法规。本文仅用于测试,请完成测试后24小时删除,请勿用于商业用途。如文中内容涉及侵权......
  • 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素(数组)
    第一次打卡,记录还不够充分,会慢慢丰富起来一、二分查找题目链接:704.二分查找-力扣(LeetCode)讲解链接:Carl讲解视频讲解:代码随想录讲解 情况1:左闭右闭区间情况2:左闭右开区间 二、移除元素题目链接:27.移除元素-力扣(LeetCode)讲解链接:Carl讲解视频讲解:代码随想......