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.