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

Ответ

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

Пример для фронтенда (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
  • Часто используют моки для внешних зависимостей
  • Охватывают критически важные сценарии работы приложения