Что такое интеграционный тест

«Что такое интеграционный тест» — вопрос из категории Тестирование, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Пример для фронтенда (React + Jest):

// Тестируем, что компонент корректно отображает данные из API
test('renders user data', async () => {
  const mockData = { name: 'John Doe' };
  jest.spyOn(global, 'fetch').mockResolvedValue({
    json: () => Promise.resolve(mockData)
  });

  render(<UserProfile userId="1" />);
  await waitFor(() => {
    expect(screen.getByText('John Doe')).toBeInTheDocument();
  });
});

Ключевые особенности:

  • Проверяют цепочки взаимодействий (API ↔ компонент, компонент ↔ хранилище)
  • Медленнее юнит-тестов, но быстрее E2E
  • Часто используют моки для внешних зависимостей
  • Охватывают критически важные сценарии работы приложения