Python 我是否可以使用nose来检查函数是否引发警告,但同时防止在终端上打印该警告消息?

Python 我是否可以使用nose来检查函数是否引发警告,但同时防止在终端上打印该警告消息?,python,unit-testing,nose,Python,Unit Testing,Nose,我想写一个nose单元测试,确认函数发出预期的警告。展示了如何 但是,我也不希望在运行测试的终端窗口中看到警告消息。(这会使鼻测试的输出变得杂乱无章。) 有没有一种方法可以在不显示警告文本的情况下通过鼻子测试查看函数是否发出警告?我会研究如何使用模块的补丁装饰器来伪造警告。警告函数。然后,您可以验证是否进行了调用,而不需要实际调用它 类似这样(未经测试): 相关的 @mock.patch('yourmodule.warnings') def your_test(self, mock_warnin

我想写一个nose单元测试,确认函数发出预期的警告。展示了如何

但是,我也不希望在运行测试的终端窗口中看到警告消息。(这会使鼻测试的输出变得杂乱无章。)


有没有一种方法可以在不显示警告文本的情况下通过鼻子测试查看函数是否发出警告?

我会研究如何使用模块的
补丁
装饰器来伪造
警告。警告
函数。然后,您可以验证是否进行了调用,而不需要实际调用它

类似这样(未经测试):

相关的
@mock.patch('yourmodule.warnings')
def your_test(self, mock_warnings):
    your_code()
    mock_warnings.warn.assert_called_with("deprecated", DeprecationWarning)