Write tests using React Native Testing Library (RNTL) v13 and v14 (`@testing-library/react-native`). Use when writing, reviewing, or fixing React Native component tests. Covers: render, screen, queries (getBy/getAllBy/queryBy/findBy), Jest matchers, userEvent, fireEvent, waitFor, and async patterns. Supports v13 (React 18, sync render) and v14 (React 19+, async render). Triggers on: test files for React Native components, RNTL imports, mentions of "testing library", "write tests", "component tests", or "RNTL".
Install with Tessl CLI
npx tessl i github:callstack/react-native-testing-library --skill react-native-testing100
Does it follow best practices?
Validation for skill structure
RNTL v14 async API patterns
Await render
100%
100%
Await fireEvent
100%
100%
screen for queries
100%
100%
getByRole as primary query
0%
100%
userEvent over fireEvent
100%
100%
Fake timers with userEvent
0%
100%
RNTL matchers used
100%
100%
No removed v14 APIs
100%
100%
No act() wrapping
100%
100%
No manual cleanup
100%
100%
Without context: $1.7173 · 6m 11s · 49 turns · 52 in / 20,297 out tokens
With context: $1.4040 · 4m 28s · 48 turns · 3,290 in / 11,278 out tokens
Query selection and async element patterns
screen for queries
100%
100%
getByRole priority
0%
100%
queryBy* for non-existence only
70%
100%
findBy* for async elements
100%
100%
No side effects in waitFor
100%
100%
One assertion per waitFor
100%
100%
userEvent over fireEvent
0%
100%
Fake timers with userEvent
0%
100%
within() for list items
0%
100%
No act() wrapping
100%
100%
toBeOnTheScreen matcher
0%
100%
Without context: $0.9072 · 3m 49s · 37 turns · 42 in / 9,966 out tokens
With context: $1.2305 · 4m 20s · 35 turns · 7,575 in / 11,976 out tokens
ARIA props, RNTL matchers, and context providers
getByRole state options
0%
0%
getByRole with options
100%
100%
No raw prop assertions
40%
100%
RNTL state matchers
0%
100%
wrapper option for providers
0%
100%
screen for queries
100%
100%
queryBy* for non-existence only
50%
100%
toBeOnTheScreen over toBeNull checks
0%
100%
No manual cleanup
100%
100%
userEvent for interactions
0%
60%
Fake timers with userEvent
0%
100%
Without context: $2.4656 · 8m 3s · 72 turns · 81 in / 25,968 out tokens
With context: $1.1682 · 4m 18s · 42 turns · 301 in / 11,458 out tokens
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.