Sobes.tech
Intern

¿Qué es una prueba unitaria?

sobes.tech AI

Respuesta de la IA

La prueba unitaria es un método de prueba de software en el que se aíslan y verifican las partes mínimas posibles del código (unidades, generalmente funciones, métodos o clases) para comprobar que cumplen con su comportamiento esperado.

Objetivos de las pruebas unitarias:

  • Verificación de lógica: Comprobar la corrección de una sección específica del código en aislamiento.
  • Detección temprana de defectos: Identificación de errores en la fase de desarrollo, cuando su corrección es más económica.
  • Facilitación de la refactorización: Garantizar que los cambios en el código no rompan la funcionalidad existente.
  • Documentación: Las pruebas unitarias pueden servir como ejemplo de uso del código.
  • Mejora del diseño del código: Escribir código testeable a menudo conduce a un diseño más modular y comprensible.

Características clave de las pruebas unitarias:

  • Automatización: Se ejecutan automáticamente mediante frameworks de pruebas.
  • Aislamiento: Prueba de una unidad, minimizando dependencias de sistemas externos (bases de datos, red, sistema de archivos), a menudo usando mocks o stubs.
  • Rapidez de ejecución: Deben ejecutarse muy rápidamente para poder correr con frecuencia (por ejemplo, en cada cambio de código o antes de un commit).
  • Determinismo: El resultado de la prueba debe ser el mismo en cada ejecución, si el código probado no ha cambiado.

Ejemplo en Python usando pytest:

def add(a, b):
    """Suma dos números."""
    return a + b

def test_add_positive_numbers():
    # Verificación de suma de dos números positivos
    assert add(2, 3) == 5

def test_add_negative_numbers():
    # Verificación de suma de dos números negativos
    assert add(-1, -5) == -6

def test_add_zero():
    # Verificación de suma con cero
    assert add(0, 7) == 7