Junior
Тестҳои воҳидӣ бо тестҳои интегратсионӣ чӣ фарқ доранд?
sobes.tech AI
Ҷавоб аз AI
Тестҳои воҳидӣ ва тестҳои ҳамгироӣ дар сатҳи фарогирӣ ва ҳадафҳо фарқ мекунанд:
-
Тестҳои воҳидӣ қисмҳои алоҳидаи коди — одатан функсияҳо ё усулҳоро санҷида мебаранд. Онҳо аз системаҳои хориҷӣ (маълумотхонаи додаҳо, шабака ва ғайра) вобаста нестанд ва зуд иҷро мешаванд. Ҳадаф — боварӣ ҳосил кардан, ки як модул махсус дуруст кор мекунад.
-
Тестҳои ҳамгироӣ ҳамкории чанд компонент ё модулро дар якҷоягӣ санҷида мебаранд. Онҳо метавонанд маълумотхонаи воқеӣ, хизматрасониҳо ва дигар вобастагиҳои хориҷиро истифода баранд. Ҳадаф — боварӣ ҳосил кардан, ки компонентҳо дуруст ҳамкорӣ мекунанд.
Масалан дар 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)
}
// Санҷед, ки корбар воқеан дар маълумотхонаи додаҳо сохта шудааст
}
Инчунин, тестҳои воҳидӣ ба логика тамаркуз мекунанд, ва тестҳои ҳамгироӣ ба ҳамкории компонентҳо.