TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #2723 1.87K
🤔 Чем 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 раз


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 2
More from @easy_java_ru
  1. Oct 1, 2026🤔 Как подключить свою библиотеку в другом проекте? Для подключения своей библиотеки: - со…
  2. Oct 1, 2026Post #2931
  3. Oct 1, 2026🤔 Как бороться в БД с SQL Injection? SQL Injection – это атака, при которой злоумышленник…
  4. Sep 30, 2026Post #2929
  5. Sep 30, 2026🤔 Какие есть методы HTTP-запросов? - GET — получение данных; - POST — создание ресурса; -…
  6. Sep 30, 2026Post #2927
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 →