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.