Python para todos

Page 138

Python para todos import doctest doctest.testmod() if __name__ == “__main__”: _test()

Obtendríamos algo parecido a esto: ********************************************************* File “ejemplo.py”, line 5, in __main__.cuadrados Failed example: cuadrados(l) Expected: [0, 1, 4, 9] Got: [0, 2, 4, 6] ********************************************************* 1 items had failures: 1 of 2 in __main__.cuadrados ***Test Failed*** 1 failures.

Como vemos, el mensaje nos indica que ha fallado la prueba de la línea 5, al llamar a cuadrados(l), cuyo resultado debería ser [0, 1, 4, 9], y sin embargo obtuvimos [0, 2, 4, 6]. Veamos por último cómo utilizar sentencias anidadas para hacer cosas un poco más complicadas con doctest. En el ejemplo siguiente nuestra función calcula el cuadrado de un único número pasado como parámetro, y diseñamos una prueba que compruebe que el resultado es el adecuado para varias llamadas con distintos valores. Las sentencias anidadas comienzan con “...” en lugar de “>>>”: def cuadrado(num): “””Calcula el cuadrado de un numero. >>> l = [0, 1, 2, 3] >>> for n in l: ... cuadrado(n) [0, 1, 4, 9] “”” return num ** 2 def _test(): import doctest doctest.testmod()

138


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.