Testes automatizados
Objetivo
Descrever como validar alterações no krameldocs e reduzir o risco de regressões.
Ferramentas
O projeto utiliza Vitest para executar testes automatizados. A configuração efetiva dos testes deve ser consultada nos arquivos do repositório.
Executar a suíte de testes
Na raiz da aplicação, execute:
npm test
O comando executa a suíte de testes configurada no projeto.
Consulte a saída do terminal para identificar testes aprovados, falhas e eventuais erros de configuração.
Verificações complementares
Além dos testes automatizados, execute:
npm run lint
npx tsc --noEmit
npm run build
Esses comandos verificam aspectos diferentes:
- Lint: identifica problemas de estilo e padrões de código configurados.
- TypeScript: verifica a consistência dos tipos.
- Build: verifica se a aplicação consegue gerar a versão de produção.
Nenhuma dessas verificações substitui completamente as demais.
O que testar
Priorize testes para as funcionalidades afetadas pela alteração.
Navegação
- Leitura da estrutura de navegação.
- Grupos e subgrupos.
- Referências para documentos.
- Tratamento de caminhos inválidos.
Conteúdo Markdown
- Renderização de títulos e parágrafos.
- Listas, tabelas e links.
- Blocos de código.
- Âncoras de títulos.
- Tratamento seguro de HTML.
Integração com o GitHub
- Construção correta dos caminhos.
- Tratamento de respostas inválidas.
- Falhas de acesso à origem.
- Uso das configurações do ambiente.
- Comportamento do cache.
Arquivos e recursos
- Caminhos válidos.
- Arquivos inexistentes.
- Extensões permitidas e bloqueadas.
- Limites de tamanho.
- Tentativas de acessar caminhos fora da área autorizada.
Testes isolados de serviços externos
Sempre que possível, utilize simulações controladas para testar a lógica da aplicação sem depender de uma conexão real com o GitHub.
Testes que dependem de serviços externos podem falhar por indisponibilidade ou mudanças fora do controle do projeto.
Corrigir uma falha
Quando um teste falhar:
- Leia a mensagem de erro completa.
- Identifique o comportamento esperado.
- Reproduza o problema.
- Corrija a causa, não apenas o sintoma.
- Execute novamente o teste afetado.
- Execute a suíte completa antes de publicar.
Testes de regressão
Ao corrigir um defeito, adicione um teste que represente o comportamento problemático sempre que for viável.
Isso ajuda a evitar que alterações futuras reintroduzam o mesmo problema.
Critério de conclusão
Considere uma alteração validada somente depois de executar as verificações relevantes e analisar todas as falhas. Não ignore erros apenas para concluir a publicação.