技能 rn-testing
🧪

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.

支援: Claude Codex Code(CC)
📊 71 充足
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「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

安全審計

安全
v4 • 1/16/2026

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
已掃描檔案
631
分析行數
2
發現項
4
審計總數
審計者: claude 查看審計歷史 →

品質評分

38
架構
100
可維護性
85
內容
30
社群
100
安全
91
規範符合性

你能建構什麼

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.

試試這些提示

Padrão básico de teste
How do I test a React Native component with Jest and React Native Testing Library?
Teste de store Zustand
How do I test a Zustand store and prevent state from persisting between tests?
Mock de módulo Expo
Show me how to mock expo-router and expo-secure-store in Jest tests.
Depuração de teste assíncrono
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

常見問題

Quais frameworks de teste esta skill cobre?
Jest e React Native Testing Library são os frameworks principais. Os padrões funcionam com projetos React Native com Expo e sem Expo.
Qual versão do Jest é necessária?
Os padrões funcionam com Jest 29+, que é o padrão em projetos React Native modernos usando Expo 49 ou superior.
Como integro com minha configuração de testes existente?
Copie os exemplos de padrões diretamente para seus arquivos de teste. Configurações de mocks podem ser adicionadas a jest.setup.js para disponibilidade global.
Esta skill modifica meus arquivos de projeto?
Não. Esta é uma skill baseada em prompt que fornece orientação. Você implementa manualmente os padrões no seu codebase.
Por que vejo avisos de act() nos meus testes?
Atualizações de estado ocorrem fora do wrapper act(). Use act() para operações assíncronas e waitFor() para asserções sobre conteúdo assíncrono.
Em que isso difere da skill rn-zustand-patterns?
rn-zustand-patterns cobre a implementação de stores. Esta skill foca especificamente em testar stores, componentes e hooks que os utilizam.

開發者詳情

檔案結構

📄 SKILL.md