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