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));
}