Junior — Middle
Kuo skiriasi mock objektai ir stubs testavimo kontekste?
sobes.tech AI
Atsakymas iš AI
Testų kontekste, mock objektai (mocks) ir stub'ai tarnauja kaip tikriems komponentams pakeisti, tačiau turi skirtingus tikslus:
-
Stub — tai paprastas objektas, kuris grąžina iš anksto apibrėžtus duomenis, kad testas galėtų veikti su prognozuojamu elgesiu. Jis nepatikrina, kaip tiksliai jis yra iškviečiamas, tik teikia reikalingus atsakymus.
-
Mock — tai objektas, kuris ne tik imituoja elgesį, bet ir patikrina, ar metodai buvo iškviesti su tikėtinais parametrais ir tinkama tvarka. Mocks naudojami sąveikų patikrinimui.
Pavyzdys:
- Stub gali grąžinti fiktyvų atsakymą iš tinklo užklausos.
- Mock patikrins, ar užklausos metodas buvo iškviestas tik vieną kartą su tam tikru URL.
iOS, kuriant mocks ir stub'us, dažnai naudojami tokie karkasai kaip OCMock ar Cuckoo.