numpy.testing.assert_warns#
- testing.assert_warns(warning_class, *args, **kwargs)[源]#
失败,除非给定的可调用对象会引发指定的警告。
当使用参数 args 和关键字参数 kwargs 调用可调用对象时,它应该会引发 class warning_class 的警告。如果引发了不同类型的警告,则不会被捕获。
如果省略除警告类之外的所有参数进行调用,则可用作上下文管理器。
with assert_warns(SomeWarning): do_something()
上下文管理器功能是 NumPy v1.11.0 中新增的。
已弃用,版本 2.4: 此功能已弃用。请改用
warnings.catch_warnings或pytest.warns。- 参数:
- 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