numpy.testing.assert_warns#
- testing.assert_warns(warning_class, *args, **kwargs)[源]#
除非给定的可调用对象抛出指定警告,否则失败。
当使用参数 `args` 和关键字参数 `kwargs` 调用时,该可调用对象应抛出 `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