numpy.testing.assert_warns

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

Fail unless the given callable throws the specified warning.

A warning of class warning_class should be thrown by the callable when invoked with arguments args and keyword arguments kwargs. If a different type of warning is thrown, it will not be caught.

If called with all arguments other than the warning class omitted, may be used as a context manager:

with assert_warns(SomeWarning):

do_something()

The ability to be used as a context manager is new in NumPy v1.11.0.

New in version 1.4.0.

Parameters
warning_classclass

The class defining the warning that func is expected to throw.

funccallable, optional

Callable to test

*argsArguments

Arguments for func.

**kwargsKwargs

Keyword arguments for func.

Returns
The value returned by func.

Examples

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