Sobes.tech
Junior

Kādas ir atšķirības starp vienību testiem un integrācijas testiem?

sobes.tech AI

Atbilde no AI

Vienības testiem un integrācijas testiem ir atšķirīgs pārklājuma līmenis un mērķi:

  • Vienības testi pārbauda atsevišķas, izolētas koda daļas — parasti funkcijas vai metodes. Tie nav atkarīgi no ārējiem sistēmiem (datu bāzēm, tīkliem utt.) un tiek veikti ātri. Mērķis ir pārliecināties, ka konkrēts modulis darbojas pareizi.

  • Integrācijas testi pārbauda vairāku komponentu vai moduļu sadarbību kopā. Tie var izmantot reālas datu bāzes, pakalpojumus un citas ārējās atkarības. Mērķis ir pārliecināties, ka komponenti darbojas pareizi kopā.

Piemērs Go valodā:

// Vienības funkcijas tests
func TestAdd(t *testing.T) {
    result := Add(2, 3)
    if result != 5 {
        t.Errorf("Gaida 5, saņemts %d", result)
    }
}

// Datu bāzes integrācijas tests
func TestUserCreation(t *testing.T) {
    db := setupTestDB()
    userService := NewUserService(db)
    err := userService.CreateUser("testuser")
    if err != nil {
        t.Fatal(err)
    }
    // Pārbaudīt, vai lietotājs patiešām ir izveidots datu bāzē
}

Tādējādi, vienības testi koncentrējas uz loģiku, bet integrācijas — uz komponentu sadarbību.