Писал ли unit-тесты на frontend в React
Python
Senior
Без компании
Писал ли unit-тесты на frontend в React
Ответы
Да, писал unit-тесты для React-компонентов с использованием Jest и React Testing Library (RTL). Основные подходы:
- **Тестирование рендеринга** – проверяем, что компонент корректно отображается:
```
test('renders button with text', () => {
render(<Button>Click me</Button>);
expect(screen.getByText('Click me')).toBeInTheDocument();
});
```
- **Тестирование событий** – имитируем клики и проверяем колбэки:
```
test('calls onClick when clicked', () => {
const mockFn = jest.fn();
render(<Button onClick={mockFn} />);
fireEvent.click(screen.getByRole('button'));
expect(mockFn).toHaveBeenCalled();
});
```
- **Моки и изоляция** – мокаем API-запросы (например, с помощью `jest.mock`).
Ключевые принципы:
- Тестируем поведение, а не реализацию.
- Минимизируем тесты на внутреннее состояние компонента.
- Используем `@testing-library/react` для работы с DOM.
Для сложных сценариев применял `jest.mock` и MSW (Mock Service Worker) для мокинга HTTP-запросов.