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.