Когда вы запускаете 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
.
Спасибо!
Изменить:
В идеале мне бы хотелось, чтобы параметр командной строки для проверки носа выдавал warnings.simplefilter('error')
перед каждым тестом (а затем очищал его).
Любое решение, которое включает использование модуля warnings
в тестовом коде, похоже, опровергает эту точку зрения. Я не хочу вручную редактировать каждый тестовый модуль для преобразования предупреждений в ошибки. Кроме того, я не хочу, чтобы автор каждого тестового модуля мог забывать «включать» предупреждения об ошибках.