> Какие инструменты используются для тестирования React-компонентов (React)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: Ozon

Стек: React

> Пример ответа

Для тестирования React-компонентов в современной фронтенд-разработке используется несколько ключевых инструментов. Основным фреймворком является Jest - он встроен в Create React App и предоставляет тест-раннер, функции для утверждений (assertions) и моков. Для рендеринга и взаимодействия с компонентами применяется React Testing Library, которая фокусируется на тестировании поведения с точки зрения пользователя (поиск элементов по тексту, ролям, а не по внутренним деталям реализации). Дополнительно может использоваться Enzyme (от Airbnb), но он менее популярен из-за ориентации на тестирование внутреннего состояния. Для скриншотного тестирования применяется Storybook с аддонами (например, Storyshots), а для end-to-end тестов - Cypress или Playwright, которые могут тестировать React-компоненты в браузере. Пример базового теста с React Testing Library:

JSX
import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import Button from './Button';
test('вызывает onClick при клике', async () => {
const handleClick = jest.fn();
render(<Button onClick={handleClick}>Нажми меня</Button>);
await userEvent.click(screen.getByText('Нажми меня'));
expect(handleClick).toHaveBeenCalledTimes(1);
});

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью