Testing Library for React 19 - render, screen, userEvent, waitFor, Suspense. Use when writing tests for React components with Vitest.
View on GitHubFebruary 2, 2026
Select agents to install to:
npx add-skill https://github.com/fusengine/agents/blob/main/plugins/react-expert/skills/react-testing/SKILL.md -a claude-code --skill react-testingInstallation paths:
.claude/skills/react-testing/# React Testing Library Test React components the way users interact with them. ## Agent Workflow (MANDATORY) Before ANY implementation, launch in parallel: 1. **fuse-ai-pilot:explore-codebase** - Analyze existing test patterns 2. **fuse-ai-pilot:research-expert** - Verify latest Testing Library docs via Context7/Exa 3. **mcp__context7__query-docs** - Check userEvent, waitFor patterns After implementation, run **fuse-ai-pilot:sniper** for validation. --- ## Overview ### When to Use - Testing React component behavior - Validating user interactions - Ensuring accessibility compliance - Mocking API calls with MSW - Testing custom hooks - Testing React 19 features (useActionState, use()) ### Why React Testing Library | Feature | Benefit | |---------|---------| | User-centric | Tests what users see | | Accessible queries | Encourages a11y markup | | No implementation details | Resilient to refactoring | | Vitest integration | 10-20x faster than Jest | --- ## Critical Rules 1. **Query by role first** - `getByRole` is most accessible 2. **Use userEvent, not fireEvent** - Realistic interactions 3. **waitFor for async** - Never `setTimeout` 4. **MSW for API mocking** - Don't mock fetch 5. **Test behavior, not implementation** - No internal state testing --- ## Reference Guide ### Concepts | Topic | Reference | |-------|-----------| | Setup & installation | `references/installation.md` | | Query priority | `references/queries.md` | | User interactions | `references/user-events.md` | | Async patterns | `references/async-testing.md` | | API mocking | `references/msw-setup.md` | | React 19 hooks | `references/react-19-hooks.md` | | Accessibility | `references/accessibility-testing.md` | | Custom hooks | `references/hooks-testing.md` | | Vitest config | `references/vitest-config.md` | | Mocking patterns | `references/mocking-patterns.md` | ### Templates | Template | Use Case | |----------|----------| | `templates/basic-setup.md` | Vitest + RTL + MSW config | |