numpy.testing.assert_warns#

тестирование.assert_warns(warning_class, *args, **kwargs)[источник]#

Не пройдёт, если данный вызываемый объект не выбросит указанное предупреждение.

Предупреждение класса warning_class должно быть вызвано вызываемым объектом при вызове с аргументами args и ключевыми аргументами kwargs. Если будет вызван другой тип предупреждения, он не будет перехвачен.

Если вызывается со всеми аргументами, кроме класса предупреждения, опущенными, может использоваться как контекстный менеджер:

with assert_warns(SomeWarning):
    do_something()

Возможность использования в качестве контекстного менеджера является новой в NumPy v1.11.0.

Устарело с версии 2.4: Это устарело. Используйте warnings.catch_warnings или pytest.warns вместо этого.

Параметры:
warning_classкласс

Класс, определяющий предупреждение, которое функция ожидается, что выбросит исключение.

функциявызываемый объект, необязательный

Вызываемый объект для тестирования

*argsАргументы

Аргументы для функция.

**kwargsKwargs

Именованные аргументы для функция.

Возвращает:
Значение, возвращаемое функция.

Примеры

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