Junior — Middle
Aký je rozdiel medzi mock objektmi a stubmi v kontexte testovania?
sobes.tech AI
Odpoveď od AI
V kontexte testovania slúžia mock objekty (mocks) a stubs na nahradenie skutočných komponentov, ale majú odlišné účely:
-
Stub — je jednoduchý objekt, ktorý vracia vopred definované údaje, aby test mohol fungovať s predvídateľným správaním. Neoveruje, ako presne je volaný, iba poskytuje potrebné odpovede.
-
Mock — je objekt, ktorý nielen napodobňuje správanie, ale aj overuje, či boli metódy volané s očakávanými parametrami a v správnom poradí. Mocks sa používajú na overenie interakcií.
Príklad:
- Stub môže vrátiť falošnú odpoveď z požiadavky siete.
- Mock overí, či bola metóda požiadavky volaná presne raz s určitým URL.
Na iOS sa na tvorbu mockov a stubov často používajú frameworky ako OCMock alebo Cuckoo.