numpy.testing.assert_warns#
- testing.assert_warns(warning_class, *args, **kwargs)[源代码]#
除非给定的可调用对象抛出指定的警告,否则失败.
当使用参数 args 和关键字参数 kwargs 调用 callable 时,应该抛出 warning_class 类的警告. 如果抛出其他类型的警告,它将不会被捕获.
如果调用时省略了除 warning 类之外的所有参数,则可以用作上下文管理器:
with assert_warns(SomeWarning): do_something()
在 NumPy v1.11.0 中新增了用作上下文管理器的功能.
- 参数:
- warning_classclass
定义 func 预期抛出的警告的类.
- funccallable, 可选
用于测试的可调用对象
- args参数
func 的参数.
- \kwargsKwargs
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