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
Run Code Online (Sandbox Code Playgroud)
由于我们不希望我们的代码生成警告,我不希望这种情况发生OK.
谢谢!
编辑:
理想情况下,我想要的是一个nosetests命令行选项,它warnings.simplefilter('error')在每次测试之前发出(并在之后清除它).
任何涉及warnings在测试代码中使用该模块的解决方案似乎都失败了.我不想手动编辑每个测试模块以将警告转换为错误.另外,我不希望每个测试模块的作者都忘记"打开"警告错误.