En Python podemos ejecutar pruebas de código escribiéndolas dentro de los comentarios. Vamos a ver cómo.
Vamos a crear una función que calcule el área de un triángulo, pero con la particularidad de que, dentro de la función, vamos a parametrizar entre los comentarios dos pruebas, que vamos a ejecutar luego fuera de la función mediante la librería doctest. Aquí está el código:
# Importamos la librería doctest:
import doctest
# Creamos una función y la comentamos con una descripción y las pruebas:
def areaTriangulo(base, altura):
"""
Calcula el área de un triángulo.
>>> areaTriangulo(3,6)
9.0
>>> areaTriangulo(4,5)
10.0
"""
return (base * altura) / 2
# Lanzamos las pruebas:
doctest.testmod()
Como se puede ver, las pruebas las escribimos entre comillas de comentarios, por lo que no afectarán a nuestro código. Utilizamos el símbolo >>> para indicar que una línea de código es una prueba, y debajo debemos incluir el valor que queremos que de la prueba.
Si necesitamos lanzar pruebas complejas, de más de una línea de código, se añade >>> sobre cada línea de código, y ... sobre cada línea de código anidada. Por ejemplo:
>>> lista = []
>>> for i in [4, 9, 16]:
... lista.append(i)
>>> raizCuadrada(lista)
[2.0, 3.0, 4.0]
También es posible realizar pruebas mediante la librería Unittest.
Añadimos este código al fichero:
# Importamos la librería unittest:
import unittest
# Creamos una clase para pruebas:
class Pruebas(unittest.TestCase):
# Definimos las pruebas:
def test(self):
self.assertEqual(areaTriangulo(3, 6), 9)
self.assertEqual(areaTriangulo(4, 5), 10)
# Con el siguiente código indicamos a Python que estamos ejecutando este fichero como programa principal y no como importación de otro:
if __name__ == '__main__':
unittest.main()
Y eso es todo.
No hay comentarios:
Publicar un comentario