Agent-skills-standard react-native-testing

Test React Native components with Jest and React Native Testing Library. Use when writing Jest or React Native Testing Library tests for React Native components. (triggers: **/*.test.tsx, **/*.spec.tsx, __tests__/**, test, testing, jest, render, fireEvent, waitFor)

install
source · Clone the upstream repo
git clone https://github.com/HoangNguyen0403/agent-skills-standard
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HoangNguyen0403/agent-skills-standard "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/react-native/react-native-testing" ~/.claude/skills/hoangnguyen0403-agent-skills-standard-react-native-testing && rm -rf "$T"
manifest: skills/react-native/react-native-testing/SKILL.md
source content

React Native Testing

Priority: P1 (OPERATIONAL)

Setup

  • Jest: Pre-configured in React Native.
  • Testing Library: Use
    @testing-library/react-native
    for user-centric tests.
  • Mocking: Use
    jest.mock()
    for native modules.

Component Testing

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

test('increments counter on button press', () => {
  const { getByText, getByRole } = render(<Counter />);
  const button = getByRole('button', { name: /increment/i });

  fireEvent.press(button);

  expect(getByText('Count: 1')).toBeTruthy();
});

Async Testing

test('fetches and displays data', async () => {
  const { findByText } = render(<DataComponent />);
  const element = await findByText(/loaded data/i);
  expect(element).toBeTruthy();
});

Best Practices

  • User-Centric: Use
    getByRole
    ,
    getByText
    over
    testID
    when possible.
  • Integration > Unit: Test features, not implementation.
  • Avoid Snapshots: Use sparingly. Brittle and hard to review.
  • Coverage: Aim for 70%+. Focus on critical paths.

Anti-Patterns

  • No Testing Implementation: Test behavior, not internals.
  • No testID Overuse: Prefer accessible queries.

References

See references/testing-library.md for RNTL setup, mocking providers, and integration flow examples.