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));
}