🧪 Testing React Apps
Jest test runner, React Testing Library (RTL), screen queries, and fireEvent / userEvent.
React Testing Philosophy
React Testing Library focuses on testing components from the perspective of real users rather than implementation details.
Writing Component Unit Tests
Using Jest matchers and RTL `render` & `screen` utilities.
Button.test.jsx
JSX
import { render, screen, fireEvent } from '@testing-library/react'; import { CounterApp } from './CounterApp'; test('increments counter on button click', () => { render(<CounterApp />); const button = screen.getByText('+1'); fireEvent.click(button); expect(screen.getByText('Count: 1')).toBeInTheDocument(); });