Junior — Middle
Wie unterscheiden sich modulare Tests von Integrationstests und was sind ihre Hauptunterschiede?
sobes.tech KI
Antwort von AI
Unit-Tests überprüfen einzelne, isolierte Teile des Codes — in der Regel einzelne Methoden oder Klassen — ohne Interaktion mit externen Systemen (Datenbanken, Netzwerk usw.). Sie sind schnell, einfach und helfen sicherzustellen, dass ein bestimmter Logikabschnitt korrekt funktioniert.
Integrationstests prüfen die Interaktion zwischen mehreren Komponenten oder Modulen des Systems. Sie können reale Datenbanken, APIs oder andere Dienste verwenden, um sicherzustellen, dass die Komponenten zusammen korrekt arbeiten.
Hauptunterschiede:
- Testbereich: Unit-Tests — einzelnes Modul, Integrationstests — mehrere Module zusammen.
- Isolation: Unit-Tests — isoliert, Integrationstests — nicht isoliert.
- Geschwindigkeit: Unit-Tests sind schneller, Integrationstests langsamer.
- Ziel: Unit-Tests — Logik prüfen, Integrationstests — Interaktion prüfen.
Beispiel in C#:
// Unit-Test
[Test]
public void Add_TwoNumbers_ReturnsSum()
{
var calculator = new Calculator();
Assert.AreEqual(5, calculator.Add(2, 3));
}
// Integrationstest
[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));
}