Sobes.tech
Junior — Middle

¿Cómo distinguir las pruebas modulares de las pruebas de integración y cuáles son sus principales diferencias?

sobes.tech AI

Respuesta de la IA

Las pruebas unitarias verifican partes individuales y aisladas del código, generalmente métodos o clases específicas, sin interactuar con sistemas externos (bases de datos, redes, etc.). Son rápidas, sencillas y ayudan a asegurar que un fragmento concreto de lógica funciona correctamente.

Las pruebas de integración verifican la interacción entre varios componentes o módulos del sistema. Pueden usar bases de datos reales, API u otros servicios para asegurarse de que los componentes trabajan correctamente juntos.

Diferencias principales:

  • Ámbito de prueba: unitarias — un módulo individual, de integración — varios módulos juntos.
  • Aislamiento: unitarias — aisladas, de integración — no.
  • Velocidad: unitarias más rápidas, de integración más lentas.
  • Objetivo: unitarias — verificar lógica, de integración — verificar interacción.

Ejemplo en C#:

// Prueba unitaria
[Test]
public void Add_TwoNumbers_ReturnsSum()
{
    var calculator = new Calculator();
    Assert.AreEqual(5, calculator.Add(2, 3));
}

// Prueba de integración
[Test]
public void SaveUser_UserIsSavedInDatabase()
{
    var userService = new UserService(new Database());
    var user = new User { Name = "John" };
    userService.Save(user);
    Assert.IsTrue(userService.Exists(user));
}