Estoy usando nose 1.1.2 para escribir pruebas para un proyecto de Python. Existe esta función assert_raises
que se menciona en la documentación, pero no puedo encontrarla en ningún lado.¿Dónde está la función assert_raises de nose?
Debe ser una abreviatura de algo como esto:
value_error_raised = False
try:
do_something_that_should_raise_value_error()
except ValueError:
value_error_raised = True
assert value_error_raised
type_error_raised = False
try:
do_something_else_that_should_raise_type_error()
except TypeError:
type_error_raised = True
assert type_error_raised
que se convertiría en:
assert_raises(ValueError,
do_something_that_should_raise_value_error)
assert_raises(TypeError,
do_something_else_that_should_raise_type_error)
ya he buscado el código fuente y la única mención que encontré fue en el tools.py módulo, dentro de la documentación raises
:
Si desea probar muchas aserciones sobre excepciones en una prueba única, es posible que desee utilizar
assert_raises
en su lugar.
¿Se eliminó esta función de la nariz? Si es así, ¿podría alguien ayudarme a entender por qué?
Ok, eso funciona! ¡Gracias! Me acabo de dar cuenta de que la razón por la que no está explícitamente definido en nose.tools es porque es una solución a través de la prueba unittest.TestCase assertRaise. En consecuencia, eclipse sigue informando de un error de importación en 'from nose.tools import assert_raises'. – tbellardi
no es solo que PyDev está equivocado, en un proyecto más grande usando Jython recuerdo haber tenido que agregar excepciones para más de cien identificadores ... –