estoy tratando de ejecutar esta prueba: self.assertRaises(AttributeError, branch[0].childrennodes)
y branch[0
] no tiene un atributo childrennodes
, por lo que se debe lanzar una AttributeError
, que la assertRaises
debe coger, pero cuando ejecuto la prueba, la prueba falla, ya que es lanzando un AttributeError
.¿Por qué assertRaises no detecta mi error de atributo al usar python unittest?
Traceback (most recent call last):
File "/home/tttt/../tttt/tests.py", line 504, in test_get_categories_branch
self.assertRaises(AttributeError, branch[0].children_nodes)
AttributeError: 'Category' object has no attribute 'children_nodes'
¿Alguna idea?
Esa es la solución correcta, pero la excepción ocurre cuando Python recopila los argumentos a 'self.assertRaises'. Tiene que evaluar 'branch [0] .childrennodes' antes de llamar a la función, lo que genera una excepción tal como se esperaba. –
unittest tiene características similares también. Los describí en mi propia respuesta. ¡Abrazos! –