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

В чем разница между unit и интеграционным тестированием

Unit-тесты проверяют изолированно отдельные компоненты (классы, методы), обычно с моками зависимостей. Интеграционные тесты проверяют взаимодействие нескольких компонентов или систем (БД, API и т.д.).

Пример Unit-теста (JUnit + Mockito):

java
@Test
void testCalculateDiscount() {
    OrderService service = new OrderService();
    double discount = service.calculateDiscount(1000);
    assertEquals(100, discount);
}

Пример интеграционного теста:

java
@Test
void testOrderProcessing() {
    OrderService service = new OrderService();
    PaymentGateway gateway = new RealPaymentGateway();
    Order order = service.createOrder(1000);
    boolean result = gateway.processPayment(order);
    assertTrue(result);
    assertNotNull(order.getPaymentId());
}

Unit-тесты быстрые и узконаправленные, интеграционные - медленнее, но проверяют реальное взаимодействие. В проектах обычно используют оба подхода.

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

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

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

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