Sobes.tech
Junior — Middle

Mi a különbség a mock-objektumok és a stubok között a tesztelés kontextusában?

sobes.tech MI

Válasz az MI-től

A tesztelés kontextusában a mock (más néven mock objektumok) és a stubok valódi komponensek helyettesítésére szolgálnak, de különböző célokat szolgálnak:

  • Stub — egy egyszerű objektum, amely előre meghatározott adatokat ad vissza, így a teszt előre jelezhető viselkedéssel működik. Nem ellenőrzi, hogy pontosan hogyan hívják meg, csak a szükséges válaszokat szolgáltatja.

  • Mock — egy olyan objektum, amely nemcsak utánozza a viselkedést, hanem ellenőrzi is, hogy a metódusokat a várt paraméterekkel és a megfelelő sorrendben hívták-e meg. A mockokat az interakciók ellenőrzésére használják.

Példa:

  • Egy stub visszaadhat egy hamis választ egy hálózati kérésre.
  • Egy mock ellenőrzi, hogy a kérés metódusát pontosan egyszer hívták-e meg egy adott URL-lel.

Az iOS-ben a mockok és stubok létrehozásához gyakran használnak olyan keretrendszereket, mint az OCMock vagy a Cuckoo.