React / Next.js

Тестування React

React Testing Library, Jest, Vitest, тестування компонентів, mocking, взаємодії користувача, coverage

20 питань зі співбесід·
Mid-Level
1

Яка основна різниця між getBy, queryBy та findBy у React Testing Library?

Відповідь

getBy кидає помилку, якщо елемент не існує (синхронні assertions), queryBy повертає null, якщо елемент не існує (перевірка відсутності), а findBy повертає Promise для асинхронних елементів. Використовуйте getBy за замовчуванням для елементів, які повинні існувати, queryBy для перевірки відсутності елемента, і findBy для очікування появи елемента після затримки.

2

Яка основна перевага getByRole порівняно з getByTestId?

Відповідь

getByRole заохочує найкращі практики доступності, націлюючись на елементи за їхньою семантичною роллю ARIA (button, textbox, heading), що покращує доступність компонента для зчитувачів екрана. getByTestId вимагає додавання штучних атрибутів data-testid, які не надають жодної цінності кінцевим користувачам. React Testing Library рекомендує надавати пріоритет getByRole, getByLabelText та getByText перед getByTestId.

3

Як протестувати умовний рендеринг елемента, який НЕ присутній у DOM?

Відповідь

Використовуйте queryBy для перевірки відсутності елемента, оскільки він повертає null замість того, щоб кидати помилку. Приклад: expect(screen.queryByText('Error')).toBeNull() або expect(screen.queryByText('Error')).not.toBeInTheDocument(). getBy кинув би помилку і провалив тест, тоді як findBy чекає появи елемента (timeout при відсутності).

4

Чому React Testing Library рекомендує НЕ тестувати деталі реалізації?

5

Яка різниця між render та screen у React Testing Library?

+17 питань зі співбесід

Інші теми співбесід React / Next.js

Основи JavaScript

Junior
25 запитань

Основи React

Junior
20 запитань

React Hooks

Junior
22 запитань

Життєвий цикл компонента

Junior
18 запитань

React Router

Junior
20 запитань

Управління станом з Context

Junior
18 запитань

Форми та Controlled Components

Mid-Level
20 запитань

Отримання даних та API

Mid-Level
20 запитань

React Query (TanStack Query)

Mid-Level
20 запитань

Styling & CSS-in-JS

Mid-Level
18 запитань

Основи Next.js

Mid-Level
25 запитань

TypeScript з React

Mid-Level
20 запитань

Data Fetching у Next.js

Mid-Level
24 запитань

Server Actions у Next.js

Mid-Level
20 запитань

Маршрутизація та Навігація в Next.js

Mid-Level
22 запитань

API Routes у Next.js

Mid-Level
20 запитань

Metadata & SEO у Next.js

Mid-Level
18 запитань

Middleware та Auth у Next.js

Mid-Level
22 запитань

Zustand State Management

Mid-Level
18 запитань

Оптимізація продуктивності React

Senior
22 запитань

Error Boundaries & обробка помилок

Senior
18 запитань

Advanced React Patterns

Senior
20 запитань

Розширені можливості Next.js

Senior
24 запитань

Розгортання та Продакшн Next.js

Senior
20 запитань

Architecture & Design Patterns

Senior
22 запитань

React Server Components

Senior
26 запитань

Інтернаціоналізація Next.js

Senior
20 запитань

React Безпека & Найкращі Практики

Senior
22 запитань

Опануй React / Next.js для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно