Python+Unittest中常用的assert断言函数

Unittest中常用的assert函数:

import unittest#导入unittest
class People():
  pass

class TestDemo_01(unittest.TestCase):#创建一个子类继承unittest中的TestCase类
  def setUp(self) -> None:#方法预期的返回值类型 为None 非强制 初始化工作
    print("setUp")
  def tearDown(self) -> None:#退出清理工作
    print("tearDown")
  def test_demo(self):#具体的测试用例,一定要以test开头
    print("exec test_demo")
    1、assertEqual(a, b)
    # a == b
    '''self.assertEqual(1 + 1, 2)#实际结果、预期结果是否相等'''


    2、assertNotEqual(a, b)
    # a != b
    '''self.assertNotEqual(1, 2)#实际结果、预期结果是否不相等'''


    3、assertTrue(x)
    # bool(x) is True
    '''self.assertTrue([1,2,3])#任何为真的表达式 非0 非空 true'''


    4、assertFalse(x)
    # bool(x) is False
    '''self.assertFalse(0)#任何为假的表达式 0 空 false'''


    5、assertIs(a, b)
    # a is b
    '''self.assertIs(1,1)#is身份运算符,a 是和 b引用自同一个对象'''


    6、assertIsNot(a, b)
    # a is not b
    '''self.assertIsNot(1,2)#is not身份运算符,a 和 b不是引用自同一个对象'''


    7、assertIn(a, b)
    # a in b
    '''self.assertIn(1,[1,2,3])#in成员运算符,a是b中一员,a在b中'''


    8、assertNotIn(a, b)
    # a not in b
    '''self.assertNotIn(2,[1,3,4])#in成员运算符,a不是b中一员,a不在b中'''


    9、assertIsInstance(a, b)
    # isinstance(a, b)
    '''self.assertIsInstance(123,int)#isinstance判断一个对象是否属于某个类或类型'''


    10、assertNotIsInstance(a, b)
    # not isinstance(a, b)
    '''self.assertNotIsInstance([1,2,3],dict)#not isinstance判断一个对象不是否属于某个类或类型'''


    11、assertGreater(a, b)
    # a > b
    '''self.assertGreater(5,2)#Greater判断a是否大于b'''


    12、assertGreaterEqual(a, b)
    # a >= b
    '''self.assertGreaterEqual(5,5)#GreaterEqual判断a是否大于等于b'''


    13、assertLess(a, b)
    # a < b
    '''self.assertLess(1,4)#less判断a是否小于b'''


    14、assertLessEqual(a, b)
    # a <= b
    self.assertLessEqual(2,2)#less判断a是否小于等于b
if __name__=='__main__':
  unittest.main()#执行test开头的方法
  # xiaoming=People()
  # print(isinstance(xiaoming,People))#isinstance判断一个对象是否属于某个类或类型

posted @   码·蚁  阅读(953)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示