Uma ferramenta Dart para execução rápida e eficiente de testes unitários, especialmente otimizada para projetos Flutter.
- Saída Simplificada: Mostra apenas nomes dos arquivos de testes com falhas
- Suporte a Cobertura: Geração de relatórios de cobertura de código com instalação interativa do pacote full_coverage
- Performance: Significativamente mais rápido que a execução padrão do Flutter test
- Interface Amigável: Feedback visual com cores e mensagens claras
- Flexibilidade: Múltiplas formas de especificar o caminho dos testes
- Execução Paralela: Suporte a execução paralela entre módulos com controle de concorrência
- Suporte a Monorepo: Execução automática em todos os pacotes de um monorepo
dart pub global activate fastest
Adicione o arquivo gerado pelo otimizador ao seu .gitignore
:
echo ".test_optimizer.dart" >> .gitignore
- Geração de Testes: Cria um arquivo único que agrupa todos os testes e executa "flutter test" neste único arquivo
- Verificação de Dependências: Verifica e oferece instalação interativa do pacote full_coverage quando necessário
- Execução Otimizada: Suporte a execução concorrente para melhor performance
- Relatório Otimizado: Mostra apenas os arquivos que falharam com feedback visual em cores
- Economia de Tempo: Reduz significativamente o tempo de execução dos testes
- Facilidade de Uso: Interface simples e direta
- Manutenção: Saída limpa e focada no caso de falhas
- Escalabilidade: Preparado para projetos grandes e modulares
Execute os testes em seu projeto de três formas diferentes:
- Na pasta atual:
fastest
- Especificando a pasta como primeiro argumento:
fastest caminho/para/pasta
# Execução com cobertura de código
# Verifica e instala interativamente o pacote full_coverage se necessário
# Use -y para instalar automaticamente
fastest --coverage
# Desabilita execução multicore
fastest --no-concurrency
# Define a quantidade de núcleos a serem utilizados
fastest caminho/para/pasta --concurrency=[4]
O FasTest agora suporta execução paralela de testes entre módulos:
- Detecta automaticamente pacotes com testes no monorepo
- Executa testes em paralelo respeitando o limite de concorrência
- Controla recursos do sistema limitando execuções simultâneas
- Mantém feedback em tempo real da execução de cada módulo
No modo monorepo (--package
), o FasTest:
- Busca automaticamente nas subpastas todos os pacotes que contêm testes
- Executa os testes de cada pacote em paralelo
- Respeita o limite de concorrência definido
- Fornece feedback individual por pacote
- Agrega os resultados em um único relatório
# Execução em modo monorepo (busca e executa testes em todos os pacotes)
fastest --package
- Suporte a projetos modulares Flutter
- Detecção automática de módulos
- Execução paralela entre módulos
- Relatório consolidado
- Abra uma issue para reportar bugs
- Discussões para novas features
- Pull Requests são bem-vindos
Contribuições são bem-vindas! Faça um clone do repositório e submeta seu PR com uma boa descrição do objetivo e execução do código adicionado.
MIT License - veja o arquivo LICENSE para mais detalhes.