Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Python</strong> para todos<br />
Tomemos como ejemplo la siguiente función, que devuelve una lista<br />
con los cuadrados de todos los números que componen la lista pasada<br />
como parámetro:<br />
def cuadrados(lista):<br />
“””Calcula el cuadrado de los numeros de una lista”””<br />
return [n ** 2 for n in lista]<br />
Podríamos crear una prueba como la siguiente, en la que comprobamos<br />
que el resultado al pasar la lista [0, 1, 2, 3] es el que esperábamos:<br />
def cuadrados(lista):<br />
“””Calcula el cuadrado de los numeros de una lista<br />
>>> l = [0, 1, 2, 3]<br />
>>> cuadrados(l)<br />
[0, 1, 4, 9]<br />
“””<br />
return [n ** 2 for n in lista]<br />
Lo que hacemos en este ejemplo es indicar a doctest que cree un lista l<br />
con valor [0, 1, 2, 3], que llame a continuación a la función cuadrados<br />
con l como argumento, y que compruebe que el resultado devuelto<br />
sea igual a [0, 1, 4, 9].<br />
<strong>Para</strong> ejecutar las pruebas se utiliza la función testmod del módulo, a la<br />
que se le puede pasar opcionalmente el nombre de un módulo a evaluar<br />
(parámetro name). En el caso de que no se indique ningún argumento,<br />
como en este caso, se evalúa el módulo actual:<br />
def cuadrados(lista):<br />
“””Calcula el cuadrado de los numeros de una lista<br />
>>> l = [0, 1, 2, 3]<br />
>>> cuadrados(l)<br />
[0, 1, 4, 9]<br />
“””<br />
return [n ** 2 for n in lista]<br />
def _test():<br />
import doctest<br />
doctest.testmod()<br />
136