首页
学习
活动
专区
工具
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语句)来包装内嵌代码。

76210

【说站】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的使用方法介绍,希望对大家有所帮助

25260

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的目录下,就可以导入该模块使用了

53020

聊聊 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

61320

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

83820

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

74720

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.2K40

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代码测试

如果不通过,说明此次的修改原功能不一致,要么修改代码,要么修改测试 确保一个程序模块的行为符合设计测试的用例,在将来修改的时候可以极大的保证该模块依然正确 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

41220

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 实际上发送和接收消息不同,电子邮件包具有完整的工具集,用于构建或解码复杂的消息结构(包括附件)以及实现互联网编码和标头协议。

59210

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

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

79910

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感兴趣的小伙伴加入!

61110

Python自动化之unittest框架

在自动化所有的测试体系中,不管是单元测试,还是接口测试以及基于UI的自动化测试,都需要单元测试框架,在Python语言中,最常用的单元测试框架是unittest和pytest,今晚主要来介绍unittest...在Python语言中,标准库unittest模块提供了对单元测试的支持,unititest模块的主要部分,如下图所示。 ?...如UI自动化测试中初始化打开浏览器和关闭浏览器,数据库测试中连接数据库关闭数据库。 测试套件:测试套件顾名思义是测试用例的集合。.../usr/bin/env python #coding:utf-8 def add(a,b): return a/b import unittest class AddTest(unittest.TestCase...def test_add_002(self): self.assertEqual(add(3,2),1.5) def test_add_003(self): self.assertRaises

64330
领券