Sobes.tech
Junior — Middle

Was ist der Unterschied zwischen Mock-Objekten und Stubs im Kontext des Testings?

sobes.tech KI

Antwort von AI

Im Kontext von Tests dienen Mock-Objekte (Mocks) und Stubs dazu, reale Komponenten zu ersetzen, haben aber unterschiedliche Zwecke:

  • Stub — ist ein einfaches Objekt, das vordefinierte Daten zurückgibt, damit der Test mit vorhersehbarem Verhalten funktioniert. Es überprüft nicht, wie genau es aufgerufen wird, sondern liefert einfach die benötigten Antworten.

  • Mock — ist ein Objekt, das nicht nur das Verhalten imitiert, sondern auch überprüft, ob die Methoden mit den erwarteten Parametern und in der richtigen Reihenfolge aufgerufen wurden. Mocks werden verwendet, um Interaktionen zu überprüfen.

Beispiel:

  • Ein Stub kann eine fiktive Antwort auf eine Netzwerkanfrage zurückgeben.
  • Ein Mock überprüft, ob die Anfrage-Methode genau einmal mit einer bestimmten URL aufgerufen wurde.

In iOS werden zum Erstellen von Mocks und Stubs häufig Frameworks wie OCMock oder Cuckoo verwendet.