TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #2149 2K
🤔 Чем stub отличается от mock?

В тестировании разница между Stub и Mock заключается в их предназначении и способе использования.

🚩Stub (Заглушка)

Stub – это простейший объект-заглушка, который возвращает заранее заданные данные. Он не проверяет, какие методы были вызваны, а просто отвечает на запросы.
class UserRepositoryStub implements UserRepository {
@Override
public User findById(Long id) {
return new User(id, "Иван"); // Просто возвращает статичные данные
}
}


🚩Mock (Макет)

Mock – это объект, который имитирует поведение реального объекта и позволяет проверять вызовы методов (сколько раз был вызван, с какими аргументами и т. д.).
UserRepository userRepository = mock(UserRepository.class);
when(userRepository.findById(1L)).thenReturn(new User(1L, "Иван"));

User user = userRepository.findById(1L);

verify(userRepository, times(1)).findById(1L); // Проверяем, что метод был вызван 1 раз


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 7
More from @easy_java_ru
  1. Oct 4, 2026🤔 Что такое сигнатура? Сигнатура метода – это его уникальная идентификация в классе. Она…
  2. Oct 4, 2026Post #2940
  3. Oct 3, 2026🤔 В каких состояниях может находиться поток? Поток может находиться в следующих состояния…
  4. Oct 3, 2026Post #2938
  5. Oct 3, 2026🤔 Что такое Appender в log4j? Это компонент, который отвечает за отправку логов в различн…
  6. Oct 3, 2026Post #2936
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →