numpy.testing.assert_warns#

testing.assert_warns(warning_class, *args, **kwargs)[原始碼]#

除非給定的可呼叫物件拋出指定的警告,否則失敗。

當使用參數 args 和關鍵字參數 kwargs 調用時,可呼叫物件應拋出 warning_class 類型的警告。如果拋出不同類型的警告,則不會被捕獲。

如果調用時省略了 warning class 以外的所有參數,則可以用作上下文管理器

with assert_warns(SomeWarning):
    do_something()

作為上下文管理器使用的功能在 NumPy v1.11.0 中是新增的。

參數:
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