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