Sobes.tech
Junior — Middle

Opíšte svoju skúsenosť s používaním mock objektov pri testovaní

sobes.tech AI

Odpoveď od AI

Mock objekty (mock objects) sa široko se koriste u automatizovanom testiranju za izolaciju testirane komponente od spoljnih zavisnosti.

Iskustvo sa njihovom upotrebom uključuje:

  • Zamenjivanje stvarnih zavisnosti (npr. baze podataka, veb servisi) mock-ovima radi kontrole ponašanja i ubrzanja testova.
  • Konfigurisanje mock-ova da vraćaju određene vrednosti ili generišu izuzetke za proveru obrade različitih scenarija.
  • Proveru poziva metoda mock-ova (npr. koliko puta i sa kojim parametrima je metoda pozvana).

Primer sa Mockito (Java):

// Kreiranje mock-a
List<String> mockedList = Mockito.mock(List.class);

// Podesavanje ponašanja
Mockito.when(mockedList.get(0)).thenReturn("prvi element");

// Korišćenje
String element = mockedList.get(0);  // Vratiće "prvi element"

// Provera poziva
Mockito.verify(mockedList).get(0);

Na ovaj način, mock-ovi pomažu u pisanju pouzdanih i brzih jedinićnih testova, fokusirajući se na logiku testiranog koda, a ne na spoljašnje servise.