Junior — Middle
Cum să diferențiem testele modulare de cele de integrare și care sunt principalele lor diferențe?
sobes.tech AI
Răspuns de la AI
Testele unitare verifică părți individuale și izolate ale codului — de obicei metode sau clase specifice — fără a interacționa cu sisteme externe (baze de date, rețea etc.). Sunt rapide, simple și ajută la asigurarea faptului că o bucată concretă de logică funcționează corect.
Testele de integrare verifică interacțiunea dintre mai multe componente sau module ale sistemului. Pot utiliza baze de date reale, API-uri sau alte servicii pentru a se asigura că componentele funcționează corect împreună.
Diferențele principale:
- Domeniul de testare: unitare — un modul, de integrare — mai multe module împreună.
- Izolare: unitare — izolate, de integrare — nu.
- Viteză: unitare — mai rapide, de integrare — mai lente.
- Scop: unitare — verificarea logicii, de integrare — verificarea interacțiunii.
Exemplu în C#:
// Test unitar
[Test]
public void Add_TwoNumbers_ReturnsSum()
{
var calculator = new Calculator();
Assert.AreEqual(5, calculator.Add(2, 3));
}
// Test de integrare
[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));
}