| name | sdet-react-native-tests |
| description | Planejar, criar e manter testes SDET para React Native (Web, Android e iOS) com foco em confiabilidade, padronização, estabilidade e baixa flakiness. Usar para validar regras de negócio, integração com API, estados de tela, navegação e contratos, garantindo consistência entre ambientes. |
SDET React Native Tests
Seguir este fluxo para criar testes robustos, determinísticos e de alta confiabilidade.
1) Estratégia de teste (obrigatório antes de codar)
2) Priorização por impacto
3) Padrões técnicos obrigatórios
afterEach(() => {
jest.clearAllMocks()
})
-
Usar jest.resetModules() apenas quando realmente necessário
-
Não compartilhar estado global entre testes
-
Nomear testes pelo comportamento esperado (não pela implementação)
4) Padronização de render (OBRIGATÓRIO)
-
Utilizar um único helper centralizado de render (ex: renderComProviders)
-
Esse helper deve conter:
- i18n
- navigation
- theme
- store
-
Nunca renderizar componente sem os providers necessários
-
Não criar múltiplos padrões de render no projeto
5) i18n (CRÍTICO)
6) Boas práticas React Native
-
Usar React Native Testing Library
-
Testar comportamento visível:
-
Não testar implementação interna
-
Cobrir:
- navegação (entrada, retorno, params)
- estados de tela
- interação do usuário
7) API, serviços e contratos
8) Anti-flaky (OBRIGATÓRIO)
9) Performance de testes
-
Evitar render de telas completas sem necessidade
-
Preferir testes unitários para lógica
-
Reduzir uso de integração pesada
-
Evitar:
- mocks complexos desnecessários
- re-render múltiplo
10) Evitar redundância
- Não duplicar cenários já cobertos
- Não criar múltiplos testes com mesma intenção
- Cada teste deve validar um comportamento claro
11) Estrutura dos testes
Seguir padrão:
- Arrange → preparação
- Act → execução
- Assert → validação
Garantir:
- clareza
- legibilidade
- isolamento
12) Cobertura mínima
13) Checklist de entrega
14) Formato de resposta ao usuário
Sempre informar:
- o que foi testado
- quais riscos foram mitigados
- o que ficou fora e por quê
- próximos testes recomendados
Se o usuário pedir implementação:
→ aplicar diretamente no código, não apenas sugerir