IOKELU
Nivel: Intermedio
💡 Prueba el código:
Puedes ejecutar cualquier ejemplo de esta guía directamente en nuestra consola interactiva: Abrir consola de Python →

Testing en Python: crea pruebas automatizadas con unittest

Las pruebas automatizadas permiten asegurar que tu código funciona correctamente y evitar errores en producción. En esta guía aprenderás a usar el módulo unittest, crear casos de prueba, usar asserts y ejecutar suites de tests.

Tabla de contenidos

  • ¿Qué es el testing?
  • Primer test con unittest
  • Asserts más usados
  • Tests para funciones
  • Tests para clases
  • Ejercicios
  • Mini‑proyecto
  • Preguntas frecuentes

1. ¿Qué es el testing?

El testing consiste en crear pruebas automatizadas que verifican que tu código funciona como debería. Python incluye el módulo unittest para crear tests de forma profesional.

2. Primer test con unittest

import unittest

class TestSuma(unittest.TestCase):
    def test_suma(self):
        self.assertEqual(2 + 2, 4)

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

3. Asserts más usados

4. Tests para funciones

def sumar(a, b):
    return a + b

import unittest

class TestFunciones(unittest.TestCase):
    def test_sumar(self):
        self.assertEqual(sumar(3, 7), 10)

5. Tests para clases

class Persona:
    def __init__(self, nombre):
        self.nombre = nombre

import unittest

class TestPersona(unittest.TestCase):
    def test_nombre(self):
        p = Persona("Iokelu")
        self.assertEqual(p.nombre, "Iokelu")

6. Ejercicios

7. Mini‑proyecto: Probador de funciones matemáticas

def multiplicar(a, b):
    return a * b

import unittest

class TestMath(unittest.TestCase):
    def test_multiplicar(self):
        self.assertEqual(multiplicar(3, 4), 12)

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

8. Preguntas frecuentes

¿unittest es el único módulo de testing?

No, también existen pytest y nose2.

¿Debo testear todo mi código?

Idealmente sí, pero empieza por las partes críticas.


Siguiente guía

Buenas prácticas en Python →