Junior — Middle
Jaka jest różnica między mock-objektami a stubami w kontekście testowania?
sobes.tech AI
Odpowiedź od AI
W kontekście testowania, obiekty mock (mocks) i stuby służą do zastępowania rzeczywistych komponentów, ale mają różne cele:
-
Stub — to prosty obiekt, który zwraca wcześniej zdefiniowane dane, aby test mógł działać z przewidywalnym zachowaniem. Nie sprawdza, jak dokładnie jest wywoływany, po prostu dostarcza potrzebne odpowiedzi.
-
Mock — to obiekt, który nie tylko imituje zachowanie, ale także sprawdza, czy metody zostały wywołane z oczekiwanymi parametrami i w odpowiedniej kolejności. Moki służą do sprawdzania interakcji.
Przykład:
- Stub może zwracać fikcyjną odpowiedź z żądania sieciowego.
- Mock sprawdzi, czy metoda żądania została wywołana dokładnie raz z określonym URL.
Na iOS do tworzenia mocków i stubów często używa się frameworków takich jak OCMock lub Cuckoo.