首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python unittest - 与assertRaises相反?

Python unittest是Python标准库中的一个单元测试框架,用于编写和执行测试用例。它提供了一组用于测试代码的工具和方法。

与assertRaises相反的是assertRaisesRegex方法。assertRaises方法用于断言某个代码块会引发特定的异常,而assertRaisesRegex方法则用于断言某个代码块引发的异常的错误消息是否匹配指定的正则表达式。

assertRaisesRegex方法的语法如下:

代码语言:txt
复制
self.assertRaisesRegex(exception, regex, callable, *args, **kwargs)
  • exception:期望引发的异常类型。
  • regex:用于匹配异常错误消息的正则表达式。
  • callable:要测试的代码块,通常是一个函数或方法。
  • *args和**kwargs:传递给callable的参数。

使用assertRaisesRegex方法可以更精确地断言代码是否引发了特定的异常,并且可以检查异常的错误消息是否符合预期。

Python unittest的assertRaisesRegex方法的优势是:

  1. 精确断言:可以精确地断言代码是否引发了特定的异常。
  2. 错误消息匹配:可以检查异常的错误消息是否符合预期,通过正则表达式进行匹配。

应用场景:

  • 在编写单元测试时,当需要断言某个代码块引发特定异常且需要检查异常的错误消息时,可以使用assertRaisesRegex方法。

推荐的腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体的产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python: 调试代码和单元测试

比如对函数abs(),我们可以编写出以下几个测试用例: 输入正数,比如1、1.2、0.99,期待返回值输入相同; 输入负数,比如-1、-1.2、-0.99,期待返回值输入相反; 输入0,期待返回0;...如果通过,说明我们的修改不会对abs()函数原有的行为造成影响;如果测试不通过,说明我们的修改原有行为不一致,要么修改函数代码,要么修改测试代码。...4.1 单元测试的特殊方法 为了编写单元测试,我们需要引入Python自带的unittest模块。在unittest模块中,有以下几个常用的方法。...(ValueError): s1.get_grade() with self.assertRaises(ValueError): s2.get_grade...(4) assertRaises方法可以用来确保一个特定的函数调用引发特定的异常,它可以通过上下文管理器(with语句)来包装内嵌代码。

81510
  • python实现接口测试(八、Unittest测试框架)

    官方详细的地址是:https://docs.python.org/2/library/unittest.html 单元测试支持测试自动化、共享的安装程序和关闭代码测试、 聚合成集合,测试和报告框架从测试的独立性...中,setUp()tearDown()被成为测试固件,某些人称为钩子(仅仅只一个称呼而已),它的主要目标初始化测试用例,执行测试用例后,对测试用例执行的结果做后期的处理。...def test_001(self): self.assertEqual(div(1,1),1) def test_002(self): self.assertRaises(ZeroDivisionError...self.driver.quit() def test_001(self): self.assertEqual(self.driver.title,u'百度一下,你就知道') def test_002(self): self.assertRaises...makeSuite()运行结果 五、添加HTML测试报告 在python中,提供了HTMLTestRunner.py来生成测试报告,把该文件下载后,直接放到C:Python27的Lib的目录下,就可以导入该模块使用了

    55920

    【说站】Python unittest有哪些使用方法

    Python unittest有哪些使用方法 unittest的方法 1、import unittest。 2、从unittest.TestCase中定义测试用例。...5、判断程序执行结果是否预期值一致。 一个测试用例应该只测试一个方面,测试的目的和内容应该非常清楚。主要用assertEqual、assertRaises等断言方法。...调用unittest.main()启动测试。 如果测试失败,将输出相应的错误提示。如果所有测试都通过不显示任何内容,此时可添加-v参数显示详细信息。...实例 import unittest   class TestStringMethods(unittest.TestCase):     def test_upper(self):         self.assertEqual...('foo'.upper(), 'FOO')   if__name__=='__main__':     unittest.main() 以上就是Python unittest的使用方法介绍,希望对大家有所帮助

    27860

    聊聊 Python 的单元测试框架(一):unittest

    测试中,使用 assertTrue[6] 或 assertFalse[7] 验证是否符合条件 在 test_split 测试中,使用 assertRaises[8] 验证是否抛出一个特定异常 可能有人会好奇...三、用例发现和执行 unittest 支持用例自动(递归)发现: 默认发现当前目录下所有符合 test*.py 测试用例 使用 python -m unittestpython -m unittest...指定测试方法 python -m unittest test_module.TestClass.test_method 指定测试文件路径(仅 Python 3) python -m unittest tests...References [1] unittest: https://docs.python.org/3/library/unittest.html [2] unittest: https://docs.python.org...#unittest.TestCase.assertFalse [8] assertRaises: https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertRaises

    67120

    Python学习笔记(八)——错误、调试、测试

    单元测试 为了编写单元测试,我们需要引入Python自带的unittest模块,编写mydict_test.py如下: import unittest from mydict import Dict...value = d['empty'] def test_attrerror(self): d = Dict() with self.assertRaises...(-1), 1) # 断言函数返回的结果与1相等 另一种重要的断言就是期待抛出指定类型的Error,比如通过d[‘empty’]访问不存在的key时,断言会抛出KeyError: with self.assertRaises...当做正常的python脚本运行: $ python3 mydict_test.py 另一种方法是在命令行通过参数-m unittest直接运行单元测试: $ python3 -m unittest mydict_test...------------------- Ran 5 tests in 0.000s OK 这是推荐的做法,因为这样可以一次批量运行很多单元测试,并且,有很多工具可以自动来运行这些单元测试 setUptearDown

    77220

    pythonunittest框架_unittest框架原理

    unittest 简介 参考:https://urlify.cn/e6rAr2 为什么要使用 unittest 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条测试用例封装为一个函数...unittest 特点 • python 自带的单元测试框架,无需安装; • 用例执行互不干扰; • 提供不同范围的setUp(测试准备)和tearDown(测试清理)方法; • 提供丰富的断言方法...3.编写一个Test开头(必须)的类,并继承unittest.TestCase,做为测试类 4.在类中编写一个test_开头(必须)的方法,作为用例 import unittest # 导入unittest...__init__.py文件,及应为的Python包 • 所有用例因为test_*.py,包含测试类应以Test开头,并继承unittest.TestCase, 用例应以test_开头 5.测试集嵌套...下载HTMLTestRunnerCN,地址:https://github.com/findyou/HTMLTestRunnerCN • 解压并将解压包中python3x文件夹下的HTMLTestRunnerCN.py

    88020

    python unittest框架

    self.assertEqual(self.oper.add(), 10, u"加法基础功能不满足要求")     def test_divide(self):         self.assertRaises...使用python -m unittest -h可以查看帮助命令,其中python -m unittest discover是命令行的另一分支,后面讨论,它也有自己的帮助命令,即也在后面加上-h     ...loadTestsFromModule等相同的是都由TestLoader提供,用来加载测试对象,返回一个TestSuit对象(包裹了搜索到的测试对象)。...也可以通过上面提到的命令行来自动发现:python -m unittest discover **     可以指定下面的参数:-s 起始目录(.)  -t 顶级目录(.) ...def test_divide(self):         self.assertRaises(ZeroDivisionError, self.oper.divide())          #def

    1.1K30

    Python接口测试之unittest(五)

    /usr/bin/env python #coding:utf-8 import unittest class TestDiv(unittest.TestCase): def...def test_001(self): self.assertEqual(div(1,1),1) def test_002(self): self.assertRaises...Pyunit,即unittest,unittest我一直认为是一个很优秀的单元测试框架,至少我是这样认为在,它是python的标准库,官方详细的地址是:https://docs.python.org/2...中,setUp()tearDown()被成为测试固件,某些人称为钩子(仅仅只一个称呼而已),它的主要目标初始化测试用例,执行测试用例后,对测试用例执行的结果做后期的处理,我们再看上面的测试用例,总共是二个测试用例...会有期望结果这个说法,来验证这个测试用例是通过还是失败,在unittest的测试框架中,也提供了assert,我们先来看python中的断言assert,来修改下源码,看看python实际代码的断言,见源码

    1.3K40

    python 标准库简介

    b=2').timeit() 0.57535828626024577 >>> Timer('a,b = b,a', 'a=1; b=2').timeit() 0.54962537085770791  ...timeit 的精细粒度级别相反, profile 和 pstats 模块提供了用于在较大的代码块中识别时间关键部分的工具。... 模块不像 doctest 模块那样易于使用,但它允许在一个单独的文件中维护更全面的测试集: import unittest class TestStatisticalFunctions(unittest.TestCase...(20, 30, 70) unittest.main() # Calling from the command line invokes all tests  自带电池 Python有“自带电池”的理念... smtplib 和 poplib 实际上发送和接收消息不同,电子邮件包具有完整的工具集,用于构建或解码复杂的消息结构(包括附件)以及实现互联网编码和标头协议。

    60310

    Python代码测试

    如果不通过,说明此次的修改原功能不一致,要么修改代码,要么修改测试 确保一个程序模块的行为符合设计测试的用例,在将来修改的时候可以极大的保证该模块依然正确 2、单元测试之函数 calculater.py...from calculater import mySum, mySub #测试类 class Test(unittest.TestCase): # 每个测试开始之前调用 def setUp...test_keyerror(self): d = MyDict() #通过d["key"]访问不存在的属性抛出KeyError异常 with self.assertRaises...test_attrerror(self): d = MyDict() # 通过d.key访问不存在的属性抛出AttributeError异常 with self.assertRaises...*****************") 4、文档测试 # 该模块可以直接提取注释中的代码并执行测试 import doctest def mySum(x, y): # doctest严格按照python

    43520

    Python 异常处理:稳固代码的艺术最佳实践

    Python中的异常处理及最佳实践异常处理是编写健壮、可靠和易于调试的Python代码中不可或缺的一部分。...异常处理的基础在Python中,异常是指在程序执行期间出现的错误或异常情况。...使用assertRaises进行异常断言assertRaisesunittest模块提供的一个方便的方法,用于验证是否引发了预期的异常。它允许您在代码块中执行操作,并验证是否发生了指定类型的异常。...模拟异常场景使用模拟工具(如unittest.mock模块)来模拟引发异常的情况,以确保您的异常处理代码能够正确地处理这些异常。...使用assertRaises、assertLogs等工具,并确保测试用例覆盖所有可能的异常路径,以验证异常处理代码的正确性。通过良好的单元测试实践,您可以更自信地开发和维护异常处理代码。

    1.1K10

    pythonunittest框架_unittest接口自动化

    unittest 特点 • python 自带的单元测试框架,无需安装; • 用例执行互不干扰; • 提供不同范围的setUp(测试准备)和tearDown(测试清理)方法; • 提供丰富的断言方法;...(verbosity=2) # 运行本测试类所有用例,verbosity为结果显示级别 用例执行顺序:并非按书写顺序执行,而是按用例名 ascii 码先后顺序执行 如果对python自动化测试、...__init__.py文件,及应为的Python包 • 所有用例因为test_*.py,包含测试类应以Test开头,并继承unittest.TestCase, 用例应以test_开头 5.测试集嵌套 import...学习Q群:746506216,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2022...最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

    65810
    领券