sábado, 19 de noviembre de 2011

Cómo correr pruebas unitarias en Python

Estuve buscando un poco en la web sobre cómo correr pruebas unitarias en Python, y me encontré con un estupendo tutorial que facilita mucho la realización de dichas pruebas.

Creo que al inicio no me di cuenta de que, como todos mis compañeros de taller de POO están codificando en Java, tendría algunas dificultades al yo utilizar Python. Digo esto porque mis compañeros se pueden ayudar entre sí al momento de enfrentarse con algún problema, pero al ser yo la única programando en Python, pienso que eso dificulta para mí un poco las cosas.

Espero estas entrada pueda facilitar a compañeros que llevarán POO y quieren hacer su proyecto en Python, un lenguaje que a mí me gusta mucho.

Lo primero que haremos es abrir en el terminal y escribir: "emacs pruebauni1.py" emacs es por el editor de texto que utilizaremos y "pruebauni1.py" es el nombre del archivo junto con la extensión .py que pertenece a archivos de Python.

Damos Enter y se abrirá una nueva ventana de emacs lista para empezar a programar. Escribimos lo siguiente para correr nuestra prueba:

!/usr/bin/python
import unittest


class EjemploPruebas(unittest.TestCase):
    def test(sel):
        pass


if __name__ == "__main__":
    unittest.main()

Hacemos la combinación de teclas Ctrl-x y Ctrl-s para guardarlo e irnos a la terminal. Ya que estemos de vuelta en la terminal, escribimos: "chmod u+x pruebauni1.py" para poder tener permisos para ejecutarlo, damos Enter y escribimos ./pruebauni1.py para poder ejecutar.

Damos Enter y recibiremos esto en nuestra terminal:


Vemos que ya pudimos correr la prueba y que salió "OK" como respuesta, es decir que todo esta bien.


Para poder ver qué sucede cuando se corre una prueba cuyo resultado no es aprobado, cambiaremos el "pass" de nuestro código por lo siguiente:  raise AssertionError()


Guardamos los cambios, volvemos al terminal y corremos nuestra prueba de nuevo.

Vemos que obtuvimos un error.


Fuentes: http://mundogeek.net/archivos/2008/09/17/pruebas-en-python/

No hay comentarios:

Publicar un comentario