Sobes.tech
Junior — Middle

Чӣ гуна тестҳои модулӣ аз тестҳои интегратсионӣ фарқ мекунанд ва асосии фарқиятҳои онҳо чист?

sobes.tech AI

Ҷавоб аз AI

Тестҳои ягона қисмҳои алоҳидаи коди — одатан методҳо ё синфҳои муайян —-ро бидуни муошират бо системаҳои беруна (маълумотхонаи додаҳо, шабака ва ғайра) санҷида мебароянд. Онҳо зуд, содда ва кӯмак мекунанд, ки қисмати муайяни логика дуруст кор мекунад.

Тестҳои интегратсионӣ муошират байни чанд компонент ё модулҳои системаро санҷида мебароянд. Онҳо метавонанд маълумотхонаи воқеӣ, API ё дигар хидматҳоро истифода баранд, то боварӣ ҳосил кунанд, ки компонентҳо дуруст ҳамкорӣ мекунанд.

Фарқиятҳои асосӣ:

  • Ҳудуди санҷиш: ягона — як модул, интегратсионӣ — чанд модул дар якҷоягӣ.
  • Изоляция: ягона — изолатсияшуда, интегратсионӣ — не.
  • Туркунӣ: ягона — тезтар, интегратсионӣ — сусттар.
  • Мақсад: ягона — санҷиши логика, интегратсионӣ — санҷиши муошират.

Масалан дар C#:

// Тести ягона
[Test]
public void Add_TwoNumbers_ReturnsSum()
{
    var calculator = new Calculator();
    Assert.AreEqual(5, calculator.Add(2, 3));
}

// Тести интегратсионӣ
[Test]
public void SaveUser_UserIsSavedInDatabase()
{
    var userService = new UserService(new Database());
    var user = new User { Name = "John" };
    userService.Save(user);
    Assert.IsTrue(userService.Exists(user));
}