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

Какие объекты заменял бы Mock в JUnit

Моки в JUnit (обычно через Mockito) заменяют сложные или внешние зависимости, чтобы изолировать тестируемый код. Основные кандидаты для мокирования:

  1. Внешние сервисы (HTTP API, базы данных) - чтобы избежать реальных вызовов
  2. Сложные объекты - когда создание реального экземпляра требует много ресурсов
  3. Нестабильные компоненты - которые могут давать случайные/ошибочные результаты
  4. Компоненты с побочными эффектами (отправка email, запись в файл)

Пример:

java
@Test
void testPaymentService() {
    PaymentGateway mockGateway = Mockito.mock(PaymentGateway.class);
    when(mockGateway.process(any())).thenReturn(true);
    
    PaymentService service = new PaymentService(mockGateway);
    assertTrue(service.makePayment(100.0));
}

Здесь мокируем платежный шлюз, чтобы не делать реальных платежей при тестировании.

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

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

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

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