rn-testing
Testar Apps React Native com Jest
Escrever testes para apps React Native exige compreender como simular módulos nativos, lidar com estado assíncrono e testar stores Zustand. Esta skill oferece padrões comprovados e exemplos de código para suítes de testes confiáveis.
下載技能 ZIP
在 Claude 中上傳
前往 設定 → 功能 → 技能 → 上傳技能
開啟並開始使用
測試它
正在使用「rn-testing」。 How do I test a Zustand store?
預期結果:
- Redefina o store antes de cada teste usando setState(initialState, true) para substituir (não mesclar) o estado
- Use getState() para acessar o estado atualizado após operações assíncronas
- Envolva ações assíncronas do store em act() ao testar
- Exemplo: beforeEach(() => { useAssessmentStore.setState(initialState, true); });
正在使用「rn-testing」。 How do I mock expo-router in tests?
預期結果:
- Use jest.mock('expo-router', () => ({ useRouter: () => ({ push: jest.fn(), replace: jest.fn(), back: jest.fn() }) }))
- Configure mocks globalmente em jest.setup.js para comportamento consistente em todos os arquivos de teste
- Redefina mocks entre testes com jest.clearAllMocks() em beforeEach
- Mocke useLocalSearchParams para retornar dados de teste para telas que leem parâmetros de rota
正在使用「rn-testing」。 How do I fix act() warnings in my tests?
預期結果:
- Envolva todas as atualizações de estado e operações assíncronas em act() para garantir o timing correto
- Use waitFor() para asserções sobre conteúdo assíncrono que pode não aparecer imediatamente
- Prefira consultas findBy* em vez de getBy* para conteúdo assíncrono (findBy já inclui espera)
- Verifique promessas pendentes que resolvem após o teste terminar
安全審計
安全This skill is pure documentation containing only testing patterns for React Native. The static scanner incorrectly flagged markdown code blocks and JavaScript method names. No executable code, network calls, or file operations exist in this skill.
風險因素
🌐 網路存取 (2)
⚙️ 外部命令 (27)
品質評分
你能建構什麼
Corrigir testes instáveis de store
Aprenda a redefinir o estado do store Zustand entre testes para evitar vazamento de estado que causa falhas intermitentes.
Simular módulos nativos do Expo
Configure mocks adequados para expo-router, expo-secure-store e outros módulos do Expo em testes com Jest.
Testar operações assíncronas
Lide com ações assíncronas do store e busca de dados do React Query em testes usando act() e waitFor.
試試這些提示
How do I test a React Native component with Jest and React Native Testing Library?
How do I test a Zustand store and prevent state from persisting between tests?
Show me how to mock expo-router and expo-secure-store in Jest tests.
My React Native tests have act() warnings and timeouts. How do I fix them?
最佳實務
- Sempre redefina o estado do store em beforeEach para evitar poluição entre testes
- Use consultas findBy* em vez de getBy* para conteúdo assíncrono e evitar condições de corrida
- Mocke dependências externas como expo-router no nível de módulo para comportamento consistente
避免
- Usar consultas getBy* para conteúdo assíncrono que pode não aparecer imediatamente
- Esquecer de limpar mocks com jest.clearAllMocks() entre testes de navegação
- Testar detalhes de implementação em vez de comportamento visível para o usuário