Junior — Middle
88
Können Sie das Konzept des Mockings im Softwaretest erklären?
Antwort von AI
sobes.tech KI
Mocking ist eine Technik im Testen, bei der anstelle echter Abhängigkeiten (z.B. Klassen, Dienste, Datenbanken) spezielle Objekte — Mocks — verwendet werden. Sie imitieren das Verhalten echter Komponenten, um den zu testenden Code zu isolieren und seine Umgebung zu kontrollieren.
Hauptziele des Mockings:
- Den getesteten Modul von externen Abhängigkeiten isolieren.
- Das Verhalten der Abhängigkeiten steuern (z.B. eine Methode einen bestimmten Wert zurückgeben lassen).
- Überprüfen, wie der getestete Code mit den Abhängigkeiten interagiert (ob die richtigen Methoden aufgerufen wurden, mit welchen Parametern).
In Python wird für Mocking häufig die Bibliothek unittest.mock verwendet:
from unittest.mock import Mock
def fetch_data(api_client):
response = api_client.get('/data')
return response.json()
# Im Test
mock_api = Mock()
mock_api.get.return_value.json.return_value = {'key': 'value'}
Ergebnis = fetch_data(mock_api)
assert Ergebnis == {'key': 'value'}