React Testing Library

React 🟡 Mid

Definition

Librairie de test qui encourage les tests du point de vue de l'utilisateur. On interagit via roles, labels et texte visible, pas via les details d'implementation.

Analogie

Comme un testeur mystere dans un restaurant : il teste l'experience client, pas la recette du chef.

Exemple de code

import { render, screen, fireEvent } from '@testing-library/react';

test('incremente le compteur', () => {
  render(<Counter />);
  fireEvent.click(screen.getByRole('button', { name: /incrementer/i }));
  expect(screen.getByText('1')).toBeInTheDocument();
});

Cas d'usage

Tests unitaires et d'integration de composants React, focus sur le comportement utilisateur.

Anti-pattern

Tester les details d'implementation (state interne, nombre de re-rendus) au lieu du comportement.
#testing#interview#bestpractice