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


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


用法:

assertWarns(warning, callable, *args, **kwds)
assertWarns(warning, *, msg=None)

测试当 callable 使用任何位置或关键字参数调用时触发警告,这些参数也传递给 assertWarns() 。如果 warning 被触发,则测试通过,否则测试失败。任何异常都是错误。要捕获任何一组警告,可以将包含警告类的元组作为 warnings 传递。

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

with self.assertWarns(SomeWarning):
    do_something()

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

上下文管理器会将捕获的警告对象存储在其warning 属性中,并将触发警告的源代码行存储在filenamelineno 属性中。如果打算对捕获的警告执行额外检查,这可能很有用:

with self.assertWarns(SomeWarning) as cm:
    do_something()

self.assertIn('myfile.py', cm.filename)
self.assertEqual(320, cm.lineno)

无论调用时是否存在警告过滤器,此方法都有效。

3.2 版中的新函数。

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

相关用法


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