Cargando



Herramientas para Pruebas de Python

En este tutorial veremos algunos conceptos mas profundos sobre las pruebas y veremos también una de las tantas herramientas que existen para la construcción de las mismas.


feb 09 2014 05:15
Avanzado
feb 10 2014 13:49
Debido a la naturaleza de las pruebas que deben ser constantes y realizadas antes de codificar el programa, existen herramientas que nos permiten acelerar la escritura de ellas de forma que el escribir dichas pruebas no sea algo que nos incomode o nos sea un estorbo en nuestro entorno de desarrollo.

El proceso de pruebas

Antes de ver herramientas de pruebas, debemos conocer un poco más a fondo como es el proceso de pruebas y que debemos tener en cuenta, veamos a continuación una lista de puntos que debemos considerar de manera importante cuando estamos realizando un desarrollo utilizando la programación basada en pruebas o TDD:
  • Describir la nueva funcionalidad que se desea construir, escribir su documentación, hacer un esquema de ella y luego escribir la prueba. Con esto nos aseguramos que tendremos inicialmente claro el espectro de lo que queremos desarrollar.
  • Escribir un código base para la funcionalidad, es decir un base que no falle debido a sintaxis pero que si haga fallar la prueba, es importante esta parte ya que nos aseguramos que la prueba falla, es decir que esta funcionando, a pesar que suene contradictorio; lo que debemos internalizar es, que la prueba debe fallar antes que la podamos pasar, si pasa a la primera entonces tenemos un error.
  • Debemos escribir un código que haga que la prueba pase, no tiene que ser la implementación de la funcionalidad, solo debe ser valores que nos hagan saber que la prueba funciona, además haremos que la prueba no nos interrumpa si estamos desarrollando otras funcionalidades.
  • Refactorizar en este punto, debemos ya escribir el código de nuestra funcionalidad para que haga que nuestra prueba pase correctamente.
Ya con esto sabemos los procesos que involucra esta forma de desarrollo, veremos a continuación una de las herramientas que tenemos disponibles.

doctest

Es un módulo de Python que nos permite escribir código que puedan ser utilizados en la sesión interactiva de Python, luego ejecutar esa sesión y entonces verificar que todo funcione como debería, con esto simplificamos la escritura de las pruebas, haciendo que podamos escribirlas mucho más rápido y con menos problemas.

Veamos a continuación en la siguiente imagen un ejemplo de como empezar a hacer pruebas:




python_pruebas_proceso.jpg


Acá vemos que estamos incluyendo los denominados docstrings que son las condiciones que evaluaremos, supongamos que lo que vemos en la imagen es nuestro archivo llamado my_math.py y al final del archivo agregaremos el siguiente código:

if __name__=='__main__':
import doctest, my_math
doctest.testmod(my_math)

Con ello lo que hacemos es importar a doctest y al módulo también, luego en nuestra consola interactiva de Python ejecutaremos el siguiente código y el resultado será lo que vemos en la siguiente imagen:

$ python my_math.py -v




python_pruebas_proceso2.jpg


Acá lo que ha sucedido es que la función testmod verifica los docstrings del modulo y de la función como tal, con ello ya podemos iniciar la prueba de forma más sencilla.

Con esto finalizamos este tutorial y así podemos haber visto las herramientas que nos permiten realizar las pruebas escribiendo menos código y de esta forma poder ejecutar nuestro desarrollo de forma más veloz.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X