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