Sobes.tech
Intern

Was ist ein Unit-Test?

sobes.tech KI

Antwort von AI

Der Unit-Test ist eine Methode der Softwareprüfung, bei der einzelne, minimal mögliche Code-Teile (Units, in der Regel Funktionen, Methoden oder Klassen) isoliert und auf ihre Übereinstimmung mit dem erwarteten Verhalten überprüft werden.

Ziele von Unit-Tests:

  • Logiküberprüfung: Überprüfung der Korrektheit eines bestimmten Codeabschnitts in Isolation.
  • Früherkennung von Fehlern: Fehlererkennung in der Entwicklungsphase, wenn die Behebung am günstigsten ist.
  • Erleichterung der Refaktorisierung: Sicherstellung, dass Änderungen im Code die bestehende Funktionalität nicht zerstören.
  • Dokumentation: Unit-Tests können als Beispiel für die Nutzung des Codes dienen.
  • Verbesserung des Code-Designs: Schreibbarer Testcode führt oft zu einem modulareren und verständlicheren Design.

Wesentliche Merkmale von Unit-Tests:

  • Automatisierung: Werden automatisch durch Test-Frameworks ausgeführt.
  • Isolierung: Testen einer Einheit, wobei Abhängigkeiten von externen Systemen (Datenbanken, Netzwerk, Dateisystem) minimiert werden, oft mit Mocks oder Stubs.
  • Ausführungsgeschwindigkeit: Müssen sehr schnell ausgeführt werden, um häufig (z.B. bei jeder Codeänderung oder vor Commit) laufen zu können.
  • Determinismus: Das Testergebnis sollte bei jedem Durchlauf gleich sein, sofern sich der getestete Code nicht geändert hat.

Beispiel in Python mit pytest:

def add(a, b):
    """Addiert zwei Zahlen."""
    return a + b

def test_add_positive_numbers():
    # Test der Addition zweier positiver Zahlen
    assert add(2, 3) == 5

def test_add_negative_numbers():
    # Test der Addition zweier negativer Zahlen
    assert add(-1, -5) == -6

def test_add_zero():
    # Test der Addition mit Null
    assert add(0, 7) == 7