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

Что такое Mock в тестировании

Mock — это объект, имитирующий поведение реального объекта в тестах. Используется для изоляции тестируемого кода от зависимостей (например, базы данных, внешних сервисов).

Пример с Mockito:

java
// Реальный сервис
public class PaymentService {
    public boolean processPayment(double amount) {
        // Логика оплаты
        return true;
    }
}

// Тест с моком
@Test
public void testOrderProcessing() {
PaymentService mockPayment = Mockito.mock(PaymentService.class);
Mockito.when(mockPayment.processPayment(100.0)).thenReturn(true);

text
OrderService orderService = new OrderService(mockPayment);
boolean result = orderService.placeOrder(100.0);

assertTrue(result);
Mockito.verify(mockPayment).processPayment(100.0);

}

text
**Отличие от Stub/Spy:**  
- **Stub** — просто возвращает заранее заданные значения.  
- **Spy** — частично мокирует объект, сохраняя часть реальной логики.  
- **Mock** — проверяет взаимодействие (вызовы методов) и может возвращать значения.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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