Sobes.tech
Junior — Middle

Jaký je rozdíl mezi mock objekty a stubs v kontextu testování?

sobes.tech AI

Odpověď od AI

V kontextu testování slouží objekty mock (mocks) a stubs k nahrazení skutečných komponent, ale mají různé účely:

  • Stub — je jednoduchý objekt, který vrací předem definovaná data, aby test mohl fungovat s předvídatelným chováním. Neověřuje, jak přesně je volán, pouze poskytuje potřebné odpovědi.

  • Mock — je objekt, který nejen napodobuje chování, ale také ověřuje, že metody byly volány s očekávanými parametry a ve správném pořadí. Mocks se používají k ověření interakcí.

Příklad:

  • Stub může vrátit fiktivní odpověď z požadavku sítě.
  • Mock ověří, že metoda požadavku byla volána přesně jednou s určitým URL.

V iOS se pro tvorbu mocků a stubů často používají frameworky jako OCMock nebo Cuckoo.