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

    81510

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

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

    1.1K10

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

    67220

    Python unittest 框架,强大测试利器

    其核心优势主要体现在以下几个方面:内置于 Python 标准库:作为 Python 标准库一部分,unittest 框架无需额外安装即可使用,降低了项目的依赖成本。...self.assertRaises用于验证是否抛出了特定异常。在除法测试中,当除数为零时,应该抛出ValueError异常,使用这个断言来验证这一行为。...异常处理测试对于可能抛出异常代码,应该进行异常处理测试。在这个例子中,对除法运算中除数为零情况进行了异常测试,确保代码在出现异常情况时能够正确处理。3....5 写在最后unittest 框架在 Python 项目中具有至关重要地位。...unittest 框架作为 Python 内置单元测试框架,具有广泛应用前景。

    12410

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

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

    55920

    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下

    66410

    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开发人员应该关心测试

    这些函数通常需要一个输入来处理并产生一个预期输出,甚至引发一个异常,因此需要对它们进行测试以确保它们能够正常工作。 假设正在为一家零售企业构建一个电子商务应用程序,以便在线向客户销售商品。...pytest 使用原始断言,而 unittest 模块有自己断言方法,例如 assertEquals、 assertIn、 assertRaises 等。...其他常见 CLI 命令包括: python -m unittest test_module 用于运行模块中所有测试。...在我们示例中,这将是: python -m unittest unit_tests/test_item.py (指向 unit_tests 文件夹中文件路径)或 python -m unittest...python -m pytest 关于 pytest 注意事项 通过运行上述命令,请注意,如果没有明确告诉 pytest 使用哪个文件夹、文件或模式进行测试发现,它将运行目录中所有测试,包括 unittest.TestCase

    5510

    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

    77220

    Python接口测试之unittest(五)

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

    1.3K40

    深入解析Pythonunittest框架-基础用法与实践技巧

    Pythonunittest框架: 基本用法和实例 Pythonunittest框架是Python标准库中用于单元测试模块,能够帮助开发者自动化测试,确保代码正确性和稳定性。...通过命令行运行 将测试代码保存在一个Python文件中,例如test_example.py,然后在终端中运行: python -m unittest test_example.py 在代码中运行 可以在测试脚本末尾添加以下代码来运行测试...,test_divide_by_zero验证了除以零情况会引发ValueError异常。...unittest.mock模块允许模拟函数调用、返回值、异常等行为,非常适合用于测试涉及外部资源代码。...小结 通过本文介绍,我们了解了Pythonunittest框架基本用法和一些进阶功能,包括跳过测试、使用Mock对象、参数化测试等。

    19120

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

    27860

    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交互式命令行输入和输出来判断测试结果是否正确。只有测试异常时候,可以用...表示中间一大段烦人输出。

    82090

    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装饰器是有一定含义对函数或方法注解。

    63610
    领券