numpy.testing.assert_warns#

testing.assert_warns(warning_class, *args, **kwargs)[源]#

失败,除非给定的可调用对象会引发指定的警告。

当使用参数 args 和关键字参数 kwargs 调用可调用对象时,它应该会引发 class warning_class 的警告。如果引发了不同类型的警告,则不会被捕获。

如果省略除警告类之外的所有参数进行调用,则可用作上下文管理器。

with assert_warns(SomeWarning):
    do_something()

上下文管理器功能是 NumPy v1.11.0 中新增的。

已弃用,版本 2.4: 此功能已弃用。请改用 warnings.catch_warningspytest.warns

参数:
warning_class

定义了 func 预期会引发的警告的类。

func可调用对象,可选

要测试的可调用对象。

*args参数

func 的参数。

**kwargs关键字参数

func 的关键字参数。

返回:
func 返回的值。

示例

>>> import warnings
>>> def deprecated_func(num):
...     warnings.warn("Please upgrade", DeprecationWarning)
...     return num*num
>>> with np.testing.assert_warns(DeprecationWarning):
...     assert deprecated_func(4) == 16
>>> # or passing a func
>>> ret = np.testing.assert_warns(DeprecationWarning, deprecated_func, 4)
>>> assert ret == 16