¿En qué se diferencian las pruebas unitarias de las pruebas de integración?
sobes.tech AI
Respuesta de la IA
Las pruebas unitarias y las pruebas de integración difieren en el nivel de cobertura y en sus objetivos:
-
Pruebas unitarias verifican partes individuales y aisladas del código, generalmente funciones o métodos. No dependen de sistemas externos (bases de datos, redes, etc.) y se ejecutan rápidamente. El objetivo es asegurarse de que un módulo específico funcione correctamente.
-
Pruebas de integración verifican la interacción de varios componentes o módulos juntos. Pueden usar bases de datos reales, servicios y otras dependencias externas. El objetivo es asegurarse de que los componentes funcionen correctamente en conjunto.
Ejemplo en Go:
// Prueba unitaria de función
func TestAdd(t *testing.T) {
result := Add(2, 3)
if result != 5 {
t.Errorf("Esperado 5, obtenido %d", result)
}
}
// Prueba de integración con base de datos
func TestUserCreation(t *testing.T) {
db := setupTestDB()
userService := NewUserService(db)
err := userService.CreateUser("testuser")
if err != nil {
t.Fatal(err)
}
// Verifica que el usuario realmente fue creado en la base de datos
}
De esta forma, las pruebas unitarias se centran en la lógica, mientras que las de integración en la interacción de los componentes.