numpy.testing.assert_warns#

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

除非给定的可调用对象抛出指定的警告,否则失败.

当使用参数 args 和关键字参数 kwargs 调用 callable 时,应该抛出 warning_class 类的警告. 如果抛出其他类型的警告,它将不会被捕获.

如果调用时省略了除 warning 类之外的所有参数,则可以用作上下文管理器:

with assert_warns(SomeWarning):
    do_something()

在 NumPy v1.11.0 中新增了用作上下文管理器的功能.

参数:
warning_classclass

定义 func 预期抛出的警告的类.

funccallable, 可选

用于测试的可调用对象

args参数

func 的参数.

\kwargsKwargs

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