Junior — Middle
Каква е разликата между мок обекти и стабове в контекста на тестването?
sobes.tech AI
Отговор от AI
В контекста на тестване, мок-обектите (mocks) и стабовете (stubs) служат за замяна на реални компоненти, но имат различни цели:
-
Стаб (Stub) — това е прост обект, който връща предварително определени данни, за да може тестът да работи с предсказуемо поведение. Той не проверява как точно се извиква, а просто предоставя нужните отговори.
-
Мок (Mock) — това е обект, който не само имитира поведението, но и проверява дали методите са били извикани с очакваните параметри и в правилния ред. Моковете се използват за проверка на взаимодействия.
Пример:
- Стаб може да връща фиктивен отговор от мрежов заявка.
- Мок ще провери дали методът за заявка е бил извикан точно веднъж с определен URL.
В iOS за създаване на мокове и стабове често се използват рамки като OCMock или Cuckoo.