Back to questions
Aston
Junior — Middle
67
Какое отличие между мок-объектами и стабами в контексте тестирования?
Companies where asked
Answer from AI
sobes.tech AI
В контексте тестирования мок-объекты (mocks) и стабы (stubs) служат для замены реальных компонентов, но имеют разные цели:
-
Стаб (Stub) — это простой объект, который возвращает заранее определённые данные, чтобы тест мог работать с предсказуемым поведением. Он не проверяет, как именно вызывается, а просто предоставляет нужные ответы.
-
Мок (Mock) — это объект, который не только имитирует поведение, но и проверяет, что методы были вызваны с ожидаемыми параметрами и в нужном порядке. Моки используются для проверки взаимодействий.
Пример:
- Стаб может возвращать фиктивный ответ от сетевого запроса.
- Мок проверит, что метод запроса был вызван ровно один раз с определённым URL.
В iOS для создания моков и стабов часто используют фреймворки, например, OCMock или Cuckoo.