Módulo unittest
El módulo unittest
en Python es una biblioteca de pruebas unitarias que proporciona un conjunto de clases y métodos para escribir y ejecutar pruebas unitarias de forma estructurada. Las pruebas unitarias son esenciales para garantizar que las unidades individuales de código funcionen correctamente. A continuación, te explicaré cómo utilizar unittest
con ejemplos:
1. Crear un archivo de prueba:
En primer lugar, debes crear un archivo de prueba. Por convención, los nombres de estos archivos suelen comenzar con “test_” y deben contener clases de prueba que hereden de unittest.TestCase
.
import unittest
class MiPrueba(unittest.TestCase):
pass
2. Definir métodos de prueba:
Dentro de la clase de prueba, puedes definir métodos que contienen las pruebas individuales. Los nombres de estos métodos deben comenzar con “test_”.
import unittest
class MiPrueba(unittest.TestCase):
def test_suma(self):
resultado = 2 + 3
self.assertEqual(resultado, 5)
def test_resta(self):
resultado = 5 - 2
self.assertEqual(resultado, 3)
3. Usar aserciones:
Dentro de los métodos de prueba, puedes usar métodos de aserción proporcionados por unittest.TestCase
para verificar que los resultados sean los esperados. Algunos de los métodos de aserción comunes son assertEqual()
, assertNotEqual()
, assertTrue()
, assertFalse()
, entre otros.
4. Ejecutar las pruebas:
Puedes ejecutar las pruebas utilizando la función unittest.main()
. Normalmente, esto se hace al final del archivo de prueba.
if __name__ == '__main__':
unittest.main()
Ejemplo completo:
Aquí tienes un ejemplo completo de un archivo de prueba con dos pruebas simples:
import unittest
class MiPrueba(unittest.TestCase):
def test_suma(self):
resultado = 2 + 3
self.assertEqual(resultado, 5)
def test_resta(self):
resultado = 5 - 2
self.assertEqual(resultado, 3)
if __name__ == '__main__':
unittest.main()
Ejecución de las pruebas:
Para ejecutar las pruebas, simplemente ejecuta el archivo de prueba desde la línea de comandos o desde un entorno de desarrollo. Por ejemplo:
python test_mi_prueba.py
Resultados de las pruebas:
Cuando ejecutas las pruebas, unittest
proporcionará resultados que indican si las pruebas pasaron o fallaron. Un punto (.) indica una prueba exitosa, y una ‘F’ indica una prueba fallida. Al final, obtendrás un resumen de las pruebas.
Ten en cuenta que este es un ejemplo muy simple. unittest
es una herramienta muy poderosa y flexible que te permite realizar pruebas más complejas, incluyendo la configuración y limpieza de entornos de prueba, pruebas parametrizadas y más. También puedes combinar unittest
con otras bibliotecas como mock
para simular comportamientos y dependencias en tus pruebas.