Sobes.tech
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)
    }
    // Санҷед, ки корбар воқеан дар маълумотхонаи додаҳо сохта шудааст
}

Инчунин, тестҳои воҳидӣ ба логика тамаркуз мекунанд, ва тестҳои ҳамгироӣ ба ҳамкории компонентҳо.