23.11.2012 Views

Python para todos

Python para todos

Python para todos

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<br />

Para asegurar en la medida de lo posible el correcto funcionamiento<br />

y la calidad del software se suelen utilizar distintos tipos de pruebas,<br />

como pueden ser las pruebas unitarias, las pruebas de integración, o las<br />

pruebas de regresión.<br />

A lo largo de este capítulo nos centraremos en las pruebas unitarias,<br />

mediante las que se comprueba el correcto funcionamiento de las<br />

unidades lógicas en las que se divide el programa, sin tener en cuenta<br />

la interrelación con otras unidades.<br />

La solución más extendida <strong>para</strong> las pruebas unitarias en el mundo<br />

<strong>Python</strong> es unittest, a menudo combinado con doctest <strong>para</strong> pruebas<br />

más sencillas. Ambos módulos están incluídos en la librería estándar<br />

de <strong>Python</strong>.<br />

Doctest<br />

Como es de suponer por el nombre del módulo, doctest permite<br />

combinar las pruebas con la documentación. Esta idea de utilizar las<br />

pruebas unitarias <strong>para</strong> probar el código y también a modo de documentación<br />

permite realizar pruebas de forma muy sencilla, propicia el<br />

que las pruebas se mantengan actualizadas, y sirve a modo de ejemplo<br />

de uso del código y como ayuda <strong>para</strong> entender su propósito.<br />

Cuando doctest encuentra una línea en la documentación que comienza<br />

con ‘>>>’ se asume que lo que le sigue es código <strong>Python</strong> a<br />

ejecutar, y que la respuesta esperada se encuentra en la línea o líneas<br />

siguientes, sin >>>. El texto de la prueba termina cuando se encuentra<br />

una línea en blanco, o cuando se llega al final de la cadena de documentación.<br />

135

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

Saved successfully!

Ooh no, something went wrong!