当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python unittest.TestCase.assertRaises用法及代码示例


用法:

assertRaises(exception, callable, *args, **kwds)
assertRaises(exception, *, msg=None)

测试当 callable 使用任何位置或关键字参数调用时引发异常,这些参数也传递给 assertRaises() 。如果引发 exception 则测试通过,如果引发另一个异常则为错误,如果未引发异常则失败。要捕获任何一组异常,可以将包含异常类的元组作为 exception 传递。

如果仅给出 exception 和可能的 msg 参数,则返回上下文管理器,以便可以将被测代码内联而不是作为函数编写:

with self.assertRaises(SomeException):
    do_something()

当用作上下文管理器时,assertRaises() 接受附加的关键字参数 msg

上下文管理器会将捕获的异常对象存储在其exception 属性中。如果打算对引发的异常执行额外检查,这可能很有用:

with self.assertRaises(SomeException) as cm:
    do_something()

the_exception = cm.exception
self.assertEqual(the_exception.error_code, 3)

在 3.1 版中更改:增加了使用能力unittest.TestCase.assertRaises作为上下文管理器。

在 3.2 版中更改:添加了exception属性。

在 3.3 版中更改:添加了msg用作上下文管理器时的关键字参数。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 unittest.TestCase.assertRaises。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。