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

Насколько глубоко работал с моками

Работал с моками на уровне unit-тестов, используя Mockito и частично PowerMock.

Основные сценарии:

  • Мокирование зависимостей (@Mock, @InjectMocks)
  • Задание поведения (when().thenReturn(), doThrow())
  • Верификация вызовов (verify())
  • Захват аргументов (ArgumentCaptor)

Пример:

java
@Test
void testUserService() {
    UserRepository mockRepo = Mockito.mock(UserRepository.class);
    when(mockRepo.findById(1L)).thenReturn(Optional.of(new User("Admin")));

    UserService service = new UserService(mockRepo);
    User user = service.getUserById(1L);

    assertEquals("Admin", user.getName());
    verify(mockRepo, times(1)).findById(1L);
}

Знаю ограничения (например, final-классы без PowerMock), но предпочитаю чистый дизайн, чтобы избежать избыточного мокирования.

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

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

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

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