Встречается на собеседованиях • сегодня

В чем разница между mock и stub

Mock и stub — это тестовые заглушки, но с разными целями.

Stub — простая заглушка, возвращающая предопределенные данные. Используется для замены реальных зависимостей и изоляции тестируемого кода.

Mock — более умная заглушка, которая еще и проверяет, как тестируемый код взаимодействует с ней (например, сколько раз вызывался метод).

Пример:

java
// Stub
UserRepository stubRepo = mock(UserRepository.class);
when(stubRepo.findById(1L)).thenReturn(new User(1L, "Alice"));

// Mock
UserRepository mockRepo = mock(UserRepository.class);
verify(mockRepo, times(1)).save(any(User.class)); // Проверка вызова

Stub нужен для подмены данных, mock — для проверки поведения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы