← ClaudeAtlas

mobile-testinglisted

Write and run tests for React Native apps using Jest and React Native Testing Library. Use when creating tests, debugging failures, or setting up test infrastructure.
aiskillstore/marketplace · ★ 329 · Testing & QA · score 82
Install: claude install-skill aiskillstore/marketplace
# Mobile Testing Testing guide for React Native applications. ## When to Use - Writing unit tests for components or utilities - Creating integration tests for features - Setting up test infrastructure - Debugging test failures - Improving test coverage ## Test Setup ```bash # Install testing dependencies npm install --save-dev jest @testing-library/react-native # Add to package.json { "scripts": { "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage" } } ``` ## Component Test Template ```typescript import { render, fireEvent } from '@testing-library/react-native'; import { MyButton } from './MyButton'; describe('MyButton', () => { it('renders correctly', () => { const { getByText } = render(<MyButton title="Click me" />); expect(getByText('Click me')).toBeTruthy(); }); it('calls onPress when pressed', () => { const onPress = jest.fn(); const { getByText } = render( <MyButton title="Click me" onPress={onPress} /> ); fireEvent.press(getByText('Click me')); expect(onPress).toHaveBeenCalledTimes(1); }); }); ``` ## Hook Test Template ```typescript import { renderHook, act } from '@testing-library/react-native'; import { useCounter } from './useCounter'; describe('useCounter', () => { it('increments count', () => { const { result } = renderHook(() => useCounter()); act(() => { result.current.increment(); }); expect(result.current.count).toBe(1); }); }); ```