Stub предоставляет управляемые ответы зависимости, а mock обычно дополнительно проверяет ожидаемое взаимодействие: вызовы, аргументы и порядок. В библиотеках названия иногда смешиваются.
Какую роль играет мокинг в модульном тестировании и чем он отличается от стаббинга?
Stub предоставляет управляемые ответы зависимости, а mock обычно дополнительно проверяет ожидаемое взаимодействие: вызовы, аргументы и порядок. В библиотеках названия иногда смешиваются.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Stub предоставляет управляемые ответы зависимости, а mock обычно дополнительно проверяет ожидаемое взаимодействие: вызовы, аргументы и порядок. В библиотеках названия иногда смешиваются.
Подмена изолирует модуль и помогает воспроизводить ошибки, но чрезмерная проверка внутренних вызовов делает тест хрупким. Если важен результат, лучше проверять результат, а не каждую деталь реализации. Mock не подтверждает совместимость с реальным сервисом. Используйте контрактные или интеграционные проверки там, где риск находится именно на границе компонентов.