13.2. Inmersión

Ahora que ya hemos definido completamente el comportamiento esperado de nuestras funciones de conversión, vamos a hacer algo un poco inesperado: vamos a escribir una batería de pruebas que ponga estas funciones contra las cuerdas y se asegure de que se comportan de la manera en que queremos. Ha leído bien: va a escribir código que pruebe código que aún no hemos escrito.

A esto se le llama pruebas unitarias (unit testing), ya que el conjunto de dos funciones de conversión se puede escribir y probar como una unidad, separado de cualquier programa más grande del que pueden formar parte más adelante. Python dispone de infraestructura para hacer pruebas unitarias: el módulo unittest, de nombre bastante apropiado.

nota
unittest está incluido en Python 2.1 y posteriores. Los usuarios de Python 2.0 pueden descargarlo de pyunit.sourceforge.net.

La prueba unitaria es una parte importante de una estrategia de desarrollo centrada en las pruebas. Si escribe pruebas unitarias, es importante hacerlo pronto (preferiblemente antes de escribir el código que van a probar) y mantenerlas actualizadas con los cambios de código y de requisitos. Las pruebas unitarias no sustituyen a pruebas de mayor nivel funcional o de sistema, pero son importantes en todas las fases de desarrollo: