Stub, Spy, Mock

W tym krótkim artykule chciałbym omówić kilka istotnych terminów realizowanych w testach jednostkowych.

STUB

Stub jest to obiekt, który w testach służy do imitowania właściwej implementacji. Jego zadaniem jest wyłącznie zwrócenie zadanej wartości. Powszechnie stosowany w przypadku, gdy nie odwoływać się to rzeczywistego obiektu, który np. dostarcza nam dane z zewnątrz. W takich przypadkach stub zapewnia, że zwrócona wartość będzie dokładnie taka, jaką określimy.

MOCK

Mock to obiekt, którego używa się zamiast rzeczywistej implementacji w trakcie testów jednostkowych. Pozwala on na określenie jakich interakcji spodziewamy się w trakcie testów. Jego celem jest sprawdzenie czy dana składowa została wykonana.

SPY

Spy to mockz dodatkową funkcjonalnoscią. O ile mock rejestrował czy dana składowa została wywołana, to spy sprawdza dodatkowo ilość wywołań.

Podsumowując

Stub

  • Minimalna implementacja do interakcji między obiektami.
  • Metody void są puste.
  • Wartości zwracane przez składowe są domyślne dla danego typu lub zdefiniowane (“hard-coded”).

Mock

  • Weryfikuje zachowanie poprzez rejestrowanie czy dana interakcja została wykonana.

Spy

  • Weryfikuje zachowanie poprzez rejestrowanie ilości wykonanych interakcji.

Stub, Spy, Mock

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Przewiń do góry