Junior
Čím se liší jednotkové testy od integračních testů?
sobes.tech AI
Odpověď od AI
Jednotkové testy a integrační testy se liší úrovní pokrytí a cíli:
-
Jednotkové testy kontrolují jednotlivé, izolované části kódu — obvykle funkce nebo metody. Nezávisí na externích systémech (databáze, sítě atd.) a běží rychle. Cílem je ujistit se, že konkrétní modul funguje správně.
-
Integrační testy kontrolují spolupráci několika komponent nebo modulů. Mohou používat reálné databáze, služby a další externí závislosti. Cílem je ujistit se, že komponenty spolu správně spolupracují.
Příklad v Go:
// Jednotkový test funkce
func TestAdd(t *testing.T) {
result := Add(2, 3)
if result != 5 {
t.Errorf("Očekáváno 5, získáno %d", result)
}
}
// Integrační test s databází
func TestUserCreation(t *testing.T) {
db := setupTestDB()
userService := NewUserService(db)
err := userService.CreateUser("testuser")
if err != nil {
t.Fatal(err)
}
// Kontrola, že uživatel byl skutečně vytvořen v databázi
}
Tímto způsobem se jednotkové testy zaměřují na logiku, zatímco integrační testy na spolupráci komponent.