Sobes.tech
Junior

Vahid testləri ilə inteqrasiya testləri arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Vahidə testləri və inteqrasiya testləri əhatə dairəsi və məqsədlər baxımından fərqlidir:

  • Vahid testləri kodun ayrı-ayrı, izolyasiya olunmuş hissələrini yoxlayır — adətən funksiyalar və ya metodlar. Onlar xarici sistemlərdən (məlumat bazaları, şəbəkələr və s.) asılı deyil və sürətlə icra olunur. Məqsəd — müəyyən bir modulun düzgün işlədiyindən əmin olmaq.

  • İnteqrasiya testləri bir neçə komponent və ya modulun birlikdə qarşılıqlı əlaqəsini yoxlayır. Onlar real məlumat bazaları, xidmətlər və digər xarici asılılıqları istifadə edə bilər. Məqsəd — komponentlərin birlikdə düzgün işlədiyindən əmin olmaq.

Go dilində nümunə:

// Funksiyanın vahid testi
func TestAdd(t *testing.T) {
    result := Add(2, 3)
    if result != 5 {
        t.Errorf("Gözlənilən 5, alınan %d", result)
    }
}

// Məlumat bazası ilə inteqrasiya testi
func TestUserCreation(t *testing.T) {
    db := setupTestDB()
    userService := NewUserService(db)
    err := userService.CreateUser("testuser")
    if err != nil {
        t.Fatal(err)
    }
    // İstifadəçinin həqiqətən məlumat bazasında yaradıldığını yoxlayırıq
}

Beləliklə, vahid testlər logikaya, inteqrasiya testləri isə komponentlərin birlikdə işləməsinə yönəlib.