Sobes.tech
Junior — Middle

Kako razlikovati modularne testove od testova integracije i koje su njihove glavne razlike?

sobes.tech АИ

Одговор од АИ

Једини тестови проверавају појединачне, изоловане делове кода — обично одређене методе или класе — без интеракције са спољашњим системима (базе података, мрежа итд.). Они су брзи, једноставни и помажу да се уверите да одређени део логике ради исправно.

Интеграциони тестови проверавају интеракцију између више компоненти или модула система. Могу користити реалне базе података, API-је или друге сервисе како би се уверили да компоненти исправно сарађују.

Главне разлике:

  • Област тестирања: јединични — један модул, интеграциони — више модулa заједно.
  • Изолација: јединични — изоловани, интеграциони — не.
  • Брзина: јединични — бржи, интеграциони — спорији.
  • Циљ: јединични — проверити логике, интеграциони — проверити интеракцију.

Пример у 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));
}