numpy.testing.assert_warns — NumPy v2.3.dev0 Manual (original) (raw)

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.

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