30.05.2022 Views

Python_para_todos

Programación en Python

Programación en Python

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Pruebas

if __name__ == “__main__”:

_test()

En el caso de que el código no pase alguna de las pruebas que hemos

definido, doctest mostrará el resultado obtenido y el resultado esperado.

En caso contrario, si todo es correcto, no se mostrará ningún

mensaje, a menos que añadamos la opción -v al llamar al script o el parámetro

verbose=True a la función tesmod, en cuyo caso se mostrarán

todas las pruebas ejecutadas, independientemente de si se ejecutaron

con éxito.

Este sería el aspecto de la salida de doctest utilizando el parámetro -v:

Trying:

l = [0, 1, 2, 3]

Expecting nothing

ok

Trying:

cuadrados(l)

Expecting:

[0, 1, 4, 9]

ok

2 items had no tests:

__main__

__main__._test

1 items passed all tests:

2 tests in __main__.cuadrados

2 tests in 3 items.

2 passed and 0 failed.

Test passed.

Ahora vamos a introducir un error en el código de la función para

ver el aspecto de un mensaje de error de doctest. Supongamos, por

ejemplo, que hubieramos escrito un operador de multiplicación (‘*’)

en lugar de uno de exponenciación (‘**’):

def cuadrados(lista):

“””Calcula el cuadrado de los numeros de una lista

>>> l = [0, 1, 2, 3]

>>> cuadrados(l)

[0, 1, 4, 9]

“””

return [n * 2 for n in lista]

def _test():

137

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!