Sobre o projeto

Detox é um framework de automação e testes end-to-end de caixa cinza de código aberto projetado para aplicações móveis, visando principalmente apps React Native nas plataformas Android e iOS. Ao contrário das ferramentas tradicionais de teste de caixa preta, o Detox sincroniza-se com o estado interno do app para reduzir a instabilidade dos testes, monitorando operações assíncronas em tempo real. Os testes são escritos em JavaScript usando uma API async-await moderna, tornando-os depuráveis e legíveis — por exemplo, simulando ações do usuário como digitar texto ou tocar em botões, e então afirmando mudanças na UI. Os principais recursos incluem suporte multiplataforma, sincronização automática para evitar condições de corrida, compatibilidade com runners de teste populares (especialmente Jest) e integração perfeita em ambientes de CI/CD, como Travis CI, CircleCI ou Jenkins. O Detox executa testes em dispositivos reais ou simuladores, aumentando a confiança na implantação. Embora suporte oficialmente as versões do React Native de v0.77.x a v0.84.x (incluindo a New Architecture), ele também pode funcionar com versões mais novas ou mais antigas, embora isso não seja garantido. O projeto incentiva contribuições da comunidade via issues do GitHub e Discord, e fornece documentação extensa, incluindo guias de início rápido, princípios de design e instruções de contribuição. O Detox é lançado sob a licença MIT e inclui recursos em idiomas não ingleses contribuídos pela comunidade, como um tutorial em português brasileiro.