當在命令行中運行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