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

Что такое Mock объект

Mock объект — это имитация реального объекта, используемая для тестирования. Он заменяет реальные зависимости, позволяя изолировать тестируемый код и контролировать поведение зависимостей.

Пример с Mockito:

java
// Реальный сервис
public class UserService {
    private UserRepository repository;
text
public User getUserById(int id) {
    return repository.findById(id);
}

}

// Тест с Mock
@Test
public void testGetUserById() {
UserRepository mockRepo = Mockito.mock(UserRepository.class);
UserService service = new UserService(mockRepo);
User dummyUser = new User(1, "Test");

text
Mockito.when(mockRepo.findById(1)).thenReturn(dummyUser);

User result = service.getUserById(1);
assertEquals("Test", result.getName());

}

text
**Преимущества:**  
- Изоляция тестов от внешних систем (БД, API)  
- Контроль над поведением зависимостей  
- Ускорение тестов (нет реальных вызовов)  

**Mock vs Stub:**  
Mock может проверять взаимодействия (например, `verify()` в Mockito), а Stub просто возвращает заранее заданные значения.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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