React / Next.js

Testing React

React Testing Library, Jest, Vitest, component testing, mocking, user interactions, coverage

20 questions d'entretien·
Confirmé
1

Quelle est la différence principale entre getBy, queryBy et findBy dans React Testing Library ?

Réponse

getBy lance une erreur si l'élément n'existe pas (assertions synchrones), queryBy retourne null si l'élément n'existe pas (vérifier l'absence), et findBy retourne une Promise pour les éléments asynchrones. Utiliser getBy par défaut pour les éléments qui doivent exister, queryBy pour vérifier qu'un élément n'est pas présent, et findBy pour attendre l'apparition d'un élément après un délai.

2

Quel est l'avantage principal de getByRole par rapport à getByTestId ?

Réponse

getByRole encourage les bonnes pratiques d'accessibilité en ciblant les éléments par leur rôle ARIA sémantique (button, textbox, heading), ce qui améliore l'accessibilité du composant pour les lecteurs d'écran. getByTestId nécessite d'ajouter des attributs data-testid artificiels qui n'apportent aucune valeur pour l'utilisateur final. React Testing Library recommande de privilégier getByRole, getByLabelText et getByText avant getByTestId.

3

Comment tester l'affichage conditionnel d'un élément qui n'est PAS présent dans le DOM ?

Réponse

Utiliser queryBy pour vérifier l'absence d'un élément, car il retourne null au lieu de lancer une erreur. Exemple : expect(screen.queryByText('Error')).toBeNull() ou expect(screen.queryByText('Error')).not.toBeInTheDocument(). getBy lancerait une erreur et ferait échouer le test, tandis que findBy attend l'apparition de l'élément (timeout si absent).

4

Pourquoi React Testing Library recommande-t-il de NE PAS tester les détails d'implémentation ?

5

Quelle est la différence entre render et screen dans React Testing Library ?

+17 questions d'entretien

Maîtrise React / Next.js pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement