React Testing Library
React 🟡 MidDefinition
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.