Sobes.tech
Junior — Middle

Wat is het verschil tussen mock-objecten en stubs in de context van testen?

sobes.tech AI

Antwoord van AI

In de context van testen dienen mocks en stubs ter vervanging van echte componenten, maar hebben verschillende doelen:

  • Stub — is een eenvoudig object dat vooraf bepaalde gegevens teruggeeft, zodat de test voorspelbaar kan functioneren. Het controleert niet hoe het precies wordt aangeroepen, maar levert gewoon de benodigde antwoorden.

  • Mock — is een object dat niet alleen het gedrag imiteert, maar ook controleert of de methoden met de verwachte parameters en in de juiste volgorde zijn aangeroepen. Mocks worden gebruikt om interacties te verifiëren.

Voorbeeld:

  • Een stub kan een fictief antwoord geven op een netwerkverzoek.
  • Een mock controleert of de request-methode precies één keer is aangeroepen met een specifieke URL.

Op iOS worden mocks en stubs vaak gemaakt met frameworks zoals OCMock of Cuckoo.