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