Escribo de la siguiente manera, en la cual intento producir un mensaje de error decente cuando comparo dos bloques de líneas múltiples de texto Unicode. El método interior que hace la comparación plantea una afirmación, pero la explicación por defecto es inútil para mí¿Cómo cambiar el mensaje en Python AssertionError?
tengo que añadir algo de código como esta a continuación:
def assert_long_strings_equal(one, other):
lines_one = one.splitlines()
lines_other = other.splitlines()
for line1, line2 in zip(lines_one, lines_other):
try:
my_assert_equal(line1, line2)
except AssertionError, error:
# Add some information to the printed result of error??!
raise
no puedo encontrar la manera de cambiar el Mensaje de error impreso en el assertionerror que atrapo. Siempre obtengo AssertionError: u'something' != 'something else'
, que solo muestra la primera línea de la salida.
¿Cómo puedo cambiar el mensaje de afirmación para imprimir lo que quiera?
Si es relevante, estoy usando nose
para ejecutar la prueba.
Solo para aclarar, me doy cuenta de que la captura de un error de aserción es extraña. Da la casualidad de que 'my_assert_equal' es un poco profundo y no quiero meterme con eso. –
Solo para señalar, debe tener 'excepto' no' atrapar'. Aunque estoy seguro de que es solo un error tipográfico: p – katrielalex