当在命令行中运行nosetests
,你如何指定“非忽略的警告应该被视为错误?运行nosetests警告作为错误?
默认情况下,警告打印,但不能算作故障:
[snip]/service/accounts/database.py:151: SADeprecationWarning: Use session.add()
self.session.save(state)
[snip]/service/accounts/database.py:97: SADeprecationWarning: Use session.add()
self.session.save(user)
............
----------------------------------------------------------------------
Ran 12 tests in 0.085s
OK
因为我们不希望我们的代码生成的警告,我不希望这种情况是OK
。
谢谢!
编辑: 理想情况下,我想要的是一个nosetests命令行选项,每个测试warnings.simplefilter('error')
之前发出(并清除出来之后)。
涉及使用warnings
模块中的测试码的任何解决方案似乎打败点。我不想手动编辑每个测试模块,将警告转换为错误。另外,我不希望每个测试模块的作者都能够忘记“打开”警告错误。
您可以编写[鼻插件](http://nose.readthedocs.org/en/latest/plugins/interface.html)来读取和解析stderr。 – dbn