Sobes.tech
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.