Junior — Middle
Modul testləri ilə inteqrasiya testlərini necə ayırmaq və onların əsas fərqləri nələrdir?
sobes.tech Süni İntellekt
AI-dan cavab
Birlik testləri, kodun ayrı və izolyasiya olunmuş hissələrini — adətən müəyyən metodlar və ya sinfləri — xarici sistemlərlə (məlumat bazaları, şəbəkə və s.) əlaqə qurmayaraq yoxlayır. Onlar sürətli, sadədir və müəyyən bir logikanın düzgün işlədiyindən əmin olmağa kömək edir.
İnteqrasiya testləri, sistemdəki bir neçə komponent və ya modul arasındakı qarşılıqlı əlaqəni yoxlayır. Onlar real məlumat bazaları, API və ya digər xidmətlərdən istifadə edə bilər, beləliklə komponentlərin birlikdə düzgün işlədiyindən əmin olmaq mümkündür.
Əsas fərqlər:
- Test sahəsi: birlik testləri — tək modul, inteqrasiya — bir neçə modul birlikdə.
- İzolyasiya: birlik testləri — izolyasiya olunmuş, inteqrasiya — yox.
- Sürət: birlik testləri — daha sürətli, inteqrasiya — daha yavaş.
- Məqsəd: birlik testləri — logikanı yoxlamaq, inteqrasiya — qarşılıqlı əlaqəni yoxlamaq.
C# nümunəsi:
// Birlik testi
[Test]
public void Add_TwoNumbers_ReturnsSum()
{
var calculator = new Calculator();
Assert.AreEqual(5, calculator.Add(2, 3));
}
// İnteqrasiya testi
[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));
}