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

python unittest自己的异常assertRaises

Python unittest是Python标准库中的一个单元测试框架,用于编写和执行测试用例。它提供了一组用于测试代码的工具和方法,包括断言(assert)和异常处理。

在unittest中,assertRaises()是一个用于测试代码是否引发特定异常的方法。它接受三个参数:异常类、被测试的函数或方法、以及可选的参数。它的作用是检查被测试的函数或方法是否会引发指定的异常,如果引发了异常,则测试通过;如果没有引发异常或引发了其他异常,则测试失败。

assertRaises()的语法如下:

代码语言:txt
复制
assertRaises(异常类, 函数, 参数1, 参数2, ...)

其中,异常类是被测试函数或方法可能引发的异常类,函数是被测试的函数或方法,参数1、参数2等是被测试函数或方法的参数。

使用assertRaises()可以确保被测试的函数或方法在特定情况下会引发预期的异常,从而验证代码的正确性和健壮性。

下面是一个示例,演示了如何使用assertRaises()进行异常测试:

代码语言:txt
复制
import unittest

def divide(a, b):
    if b == 0:
        raise ZeroDivisionError("除数不能为0")
    return a / b

class TestDivide(unittest.TestCase):
    def test_divide(self):
        self.assertRaises(ZeroDivisionError, divide, 10, 0)
        self.assertEqual(divide(10, 2), 5)

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

在上面的示例中,我们定义了一个divide()函数用于进行除法运算,如果除数为0,则会引发ZeroDivisionError异常。在测试用例中,我们使用assertRaises()来测试divide()函数是否会引发ZeroDivisionError异常,同时使用assertEqual()来验证正常情况下的除法运算结果。

推荐的腾讯云相关产品:无

参考链接:

  • Python unittest官方文档:https://docs.python.org/3/library/unittest.html
  • assertRaises()方法文档:https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertRaises
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

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

80410

Python: 调试代码和单元测试

文章背景: 最近在学习华为云在线课程Python应用篇,其中有个章节是程序调试。在代码编写过程中,需要不断地调试代码,使其满足我们开发要求。...4.1 单元测试特殊方法 为了编写单元测试,我们需要引入Python自带unittest模块。在unittest模块中,有以下几个常用方法。...由于unittest.TestCase提供了很多内置条件判断,我们只需要调用这些方法就可以断言输出是否是我们所期望。...(4) assertRaises方法可以用来确保一个特定函数调用引发特定异常,它可以通过上下文管理器(with语句)来包装内嵌代码。...如果with语句中代码引发了正确异常,则测试通过;否则,测试失败。

76310

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

作者:HelloGitHub-Prodesire 出处:HelloGitHub 前言 说到 Python 单元测试框架,想必接触过 Python 朋友脑袋里第一个想到就是 unittest[1...测试中,使用 assertTrue[6] 或 assertFalse[7] 验证是否符合条件 在 test_split 测试中,使用 assertRaises[8] 验证是否抛出一个特定异常 可能有人会好奇..._*.py" 通过位置参数指定自动发现目录和用例文件名称模式 python -m unittest discover project_directory "test_*.py" unittest 支持执行指定用例...八、小结 unittest[25] 作为 Python 标准库提供单元测试框架,使用简单、功能强大,日常测试需求均能得到很好满足。在不引入第三方库情况下,是单元测试不二之选。...#unittest.TestCase.assertFalse [8] assertRaises: https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertRaises

61320

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

一、单元测试框架 不论对于开发还是测试,都离不开单元测试框架,对于开发而言使用单元测试框架,可以编写测试代码来验证验证自己编写功能是否正确,对于测试而言,使用单元测试框架,可以编写自动化测试用例,在...Python中单元测试框架是Pyunit,即unittest,unittest我一直认为是一个很优秀单元测试框架。...官方详细地址是:https://docs.python.org/2/library/unittest.html 单元测试支持测试自动化、共享安装程序和关闭代码测试、 聚合成集合,测试和报告框架从测试独立性...单元测试模块提供可以很容易地支持这些素质一组测试类。 二、unittest框架间各个模块联系 ?...makeSuite()运行结果 五、添加HTML测试报告 在python中,提供了HTMLTestRunner.py来生成测试报告,把该文件下载后,直接放到C:Python27Lib目录下,就可以导入该模块使用了

53320

pythonunittest模块

unittest 原名为 PyUnit,是由 java JUnit 衍生而来unittest库提供了test cases, test suites, test fixtures,test runner...()#在pycharm中,手动修改以一般python文件方式去运行 suit.addTest(TestDemo("test_invid_add")) suit.addTest(TestDemo(...() runner.run(suit)从以上2个示例可知道:unittest默认是按照字母和数字顺序运行,倘若需要按照我们指定顺序执行,可使用 suit.addTest()方式去指定setUp...()不同使用pycharm IDE运行unittest文件,不管是默认用例执行顺序,还是指定用例执行顺序,用例执行结果均为默认顺序,即按照字母和数字顺序执行。...这算是pycharm一个小小bug,具体做法:进入运行配置界面,在Python 下手动创建指定执行py文件,而不是Python tests下

63010

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

本文是廖雪峰Python教程笔记,主要是摘抄一些重点,以及自己想到一些重点。所以我把他划分到转载里。 错误处理 try try: print('try...')...抛出错误 只有在必要时候才定义我们自己错误类型。如果可以选择Python已有的内置错误类型(比如ValueError,TypeError),尽量使用Python内置错误类型。...单元测试 为了编写单元测试,我们需要引入Python自带unittest模块,编写mydict_test.py如下: import unittest from mydict import Dict...由于unittest.TestCase提供了很多内置条件判断,我们只需要调用这些方法就可以断言输出是否是我们所期望。...当做正常python脚本运行: $ python3 mydict_test.py 另一种方法是在命令行通过参数-m unittest直接运行单元测试: $ python3 -m unittest mydict_test

74720

Python接口测试之unittest(五)

: global name 'div' is not defined错误信息,事实上我们自己也是非常明白,因为我们实际没有实现这样一个函数,而是先写了改函数功能测试代码,那么现在来写函数部分,见完善后源码...不论对于开发还是测试,都离不开单元测试框架,对于开发而言使用单元测试框架,可以编写测试代码来验证验证自己编写功能是否正确,对于测试而言,使用单元测试框架,可以编写自动化测试用例,在Python中单元测试框架是...Pyunit,即unittest,unittest我一直认为是一个很优秀单元测试框架,至少我是这样认为在,它是python标准库,官方详细地址是:https://docs.python.org/2...在这里总结,只是个人喜好,每个人可以根据自己实际情况来进行,这只是提供了一种选择而已。还有另外一种方法是TestLoader()加载测试类来执行测试类中所有测试用例,见源码: #!...pythonunittest库非常强大,这里只是介绍了一部分,详细可以到官方继续查看或者关注本人公众号咨询互相学习。

1.3K40

python unittest框架

另外如果setUp执行抛出异常,则忽略未执行测试用例,测试结束 测试套件:包含一组测试用例,一起执行。同时,也可以包含其他测试套件。...使用python -m unittest -h可以查看帮助命令,其中python -m unittest discover是命令行另一分支,后面讨论,它也有自己帮助命令,即也在后面加上-h     ...也可以通过上面提到命令行来自动发现:python -m unittest discover **     可以指定下面的参数:-s 起始目录(.)  -t 顶级目录(.) ...如果修饰测试方法时,会将修饰方法替代为一个触发SkipTest异常方法,并同样给修饰方法添加__unittest_skip__属性。     ...通过上面我们看出,实例运行时只会检查__unittest_skip__属性值而并不会抓取SkipTest异常,那为什么skip装饰器中要对修饰函数进行替换操作呢?

1.1K30

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

Python unittest有哪些使用方法 unittest方法 1、import unittest。 2、从unittest.TestCase中定义测试用例。...一个测试用例应该只测试一个方面,测试目的和内容应该非常清楚。主要用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使用方法介绍,希望对大家有所帮助

25360

Day13错误、调试和测试

END Python错误其实也是class,所有的错误类型都继承自BaseException,所以在使用except时需要注意是,它不但捕获该类型错误,还把其子类也“一网打尽”。...自带unittest模块,编写mydict_test.py如下: import unittest from mydict import Dict class TestDict(unittest.TestCase...self.assertEqual(abs(-1), 1) # 断言函数返回结果与1相等 运行单元测试 if __name__ == '__main__': unittest.main() C:...设想你测试需要启动一个数据库,这时,就可以在setUp()方法中连接数据库,在tearDown()方法中关闭数据库,这样,不必在每个测试方法中重复相同代码: class TestDict(unittest.TestCase...doctest严格按照Python交互式命令行输入和输出来判断测试结果是否正确。只有测试异常时候,可以用...表示中间一大段烦人输出。

79390

Numpy(六)控制、测试

参考链接: Pythonnumpy.less_equal TDD(Test Driven Development,测试驱动开发)是软件开发史上最重要里程碑之一。...,就抛出异常   assert_array_almost_equal 如果两个数组中元素近似程度没有达到指定精度,就抛出异常   assert_array_equal 如果两个数组对象不相同,就抛出异常...   assert_array_less 两个数组必须形状一致,并且第一个数组元素严格小于第二个数组元素,否则就抛出异常   assert_equal 如果两个对象不相同,就抛出异常   assert_raises...        # 阶乘函数会抛出一个ValueError类型异常,但我们期望得到一个IndexError类型异常         self.assertRaises(IndexError, factorial....-])[Tt]est)Python源代码文件、文件夹或库都将被收集用于测试”。nose充分利用了装饰器(decorator)。Python装饰器是有一定含义对函数或方法注解。

61010

Selenium2+python自动化56-unittest之断言(assert)

unittest组件测试用例时候,断言方法还是很多,下面介绍几种常用断言方法:assertEqual、assertIn、assertTrue。...一、简单案例 1.下面写了4个case,其中第四个是执行失败 # coding:utf-8 import unittest class Test(unittest.TestCase): def...= 'yoyo' 3.执行结果,中文编码不对,没正常显示中文,遇到这种情况,可以自定义异常输出 二、自定义异常输出 1.以assertEqual为例分析: assertEqual(self, first...翻译:如果两个对象不能相等,就返回失败,相当于return: first==second 2.这里除了相比较两个参数first和second,还有第三个参数msg=None,这个msg参数就是遇到异常后自定义输出信息...所有断言方法 1.下面是unittest框架支持所有断言方法,有兴趣同学可以慢慢看。

67060

Python unittest框架操作实例解析

操作步骤 导入框架,import unitest 测试类必须继承类:.class 类名(unittest.TestCase): 在类中所有定义testXXX(区分大小写)开头函数都是可执行测试用例.../usr/bin/python3 # encoding:utf-8 ''' Created on 2019-10-12 @author: EDZ ''' #!.../usr/bin/python3 # encoding:utf-8 import unittest #继承unittest基类 class un_test(unittest.TestCase): def...') self.assertRaises(ZeroDivisionError,self.cf,1,0) if __name__=="__main__": #unittest执行本类全部testXXX命名测试用例...’ 3.数据类型不相等 钩子方法,每个用例执行后执行 钩子方法,每个用例执行前执行 2.assertIs值相同 钩子方法,每个用例执行后执行 钩子方法,每个用例执行前执行 4.1/0抛出异常

46320
领券