Junior
Čime se razlikuju jedinićni testovi od integracionih testova?
sobes.tech АИ
Одговор од АИ
Јединични тестови и тестови интеграције разликују се по нивоу покривености и циљевима:
-
Јединични тестови проверавају појединачне, изоловане делове кода — обично функције или методе. Не зависе од спољашњих система (база података, мреже итд.) и извршавају се брзо. Циљ је да се уверите да одређени модул ради исправно.
-
Тестови интеграције проверавају интеракцију више компоненти или модула заједно. Могу користити реалне базе података, сервисе и друге спољне зависности. Циљ је да се уверите да компоненти исправно сарађују.
Пример у Go:
// Јединични тест функције
func TestAdd(t *testing.T) {
result := Add(2, 3)
if result != 5 {
t.Errorf("Очекује се 5, добијено %d", result)
}
}
// Интеграциони тест са базом података
func TestUserCreation(t *testing.T) {
db := setupTestDB()
userService := NewUserService(db)
err := userService.CreateUser("testuser")
if err != nil {
t.Fatal(err)
}
// Проверите да ли је корисник стварно креиран у бази података
}
Овим приступом, јединични тестови се фокусирају на логику, а тестови интеграције на интеракцију компоненти.