Sobes.tech
Junior

Miben különböznek az egységtesztek az integrációs tesztektől?

sobes.tech MI

Válasz az MI-től

Az egység- és integrációs tesztek különböznek a lefedettség szintjében és céljaikban:

  • Egységtesztek az egyes, izolált kódrészeket ellenőrzik — általában függvényeket vagy metódusokat. Nem függenek külső rendszerektől (adatbázisok, hálózatok stb.), és gyorsan futnak. Céljuk, hogy megbizonyosodjanak arról, hogy egy adott modul helyesen működik.

  • Integrációs tesztek több komponens vagy modul együttműködését ellenőrzik. Használhatnak valódi adatbázisokat, szolgáltatásokat és más külső függőségeket. Céljuk, hogy biztosítsák, a komponensek helyesen működnek együtt.

Példa Go nyelven:

// Egységteszt egy függvényhez
func TestAdd(t *testing.T) {
    result := Add(2, 3)
    if result != 5 {
        t.Errorf("Várt 5, kapott %d", result)
    }
}

// Integrációs teszt adatbázissal
func TestUserCreation(t *testing.T) {
    db := setupTestDB()
    userService := NewUserService(db)
    err := userService.CreateUser("testuser")
    if err != nil {
        t.Fatal(err)
    }
    // Ellenőrizzük, hogy a felhasználó valóban létrejött az adatbázisban
}

Így az egységtesztek a logikára, az integrációs tesztek a komponensek közötti együttműködésre fókuszálnak.