Cuando se ejecuta nosetests
desde la línea de comandos, ¿cómo se especifica que "no ignorado las advertencias deben ser tratados como errores?Ejecutar nosetests con advertencias como errores?
Por defecto, las advertencias se imprimen, pero no cuentan como fracasos:
[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
Como no queremos que nuestro código para generar advertencias, no quiero que esta situación es OK
.
Gracias!
Editar: Lo ideal sería que lo que me gustaría es una opción de línea de comandos nosetests que emite un warnings.simplefilter('error')
antes de cada ensayo (y lo limpia a cabo después).
Cualquier solución que implica el uso del módulo de warnings
en el código de prueba parece derrotar el punto. No quiero editar manualmente cada módulo de prueba para transformar las advertencias en errores. Además, no quiero que el autor de cada módulo de prueba pueda olvidarse de 'activar' los errores de advertencia.
Usted puede ser capaz de escribir [un plugin de la nariz] (http://nose.readthedocs.org/en/latest/plugins/interface.html) para leer y analizar stderr. – dbn