Skip to content
Latchkey

O Que É um Relatório de Testes?

Um relatório de testes é o resumo estruturado de uma execução de testes, registrando quais testes passaram, falharam ou foram pulados, e por quê.

Depois que uma suíte roda, alguém, ou algum sistema, precisa saber o que aconteceu. Um relatório de testes captura isso: as contagens, as falhas com suas mensagens de erro, os tempos e os pulos. No CI, o relatório é o que transforma uma execução bruta em um sinal legível em um pull request.

O que um relatório contém

  • Total de testes executados, passados, falhados e pulados.
  • Para cada falha, a asserção e a mensagem de erro.
  • Duração por teste e total.
  • Frequentemente a suíte ou o arquivo a que cada teste pertence.

Relatórios para humanos versus para máquinas

Um relatório tem dois públicos. A saída do console é para um humano lendo o terminal. Um formato estruturado, como JUnit XML ou JSON, é para máquinas: sistemas de CI o parseiam para exibir resultados, acompanhar tendências e anotar pull requests com os testes específicos que falharam.

Formatos comuns

JUnit XML é o padrão de fato que a maioria dos sistemas de CI entende, apesar de o nome ser agnóstico de framework. Outros formatos incluem TAP, reporters JSON e relatórios HTML específicos de ferramenta. Muitos runners conseguem emitir vários de uma vez.

Um exemplo rápido

Runners tipicamente aceitam uma flag informando onde e em que formato escrever o relatório estruturado para o CI ingerir.

Producing a structured report
pytest --junitxml=report.xml
jest --reporters=jest-junit

Relatórios de testes no CI

O CI ingere o relatório, mostra um detalhamento por teste, e frequentemente comenta as falhas diretamente no pull request, para que um desenvolvedor veja exatamente o que quebrou sem ler logs brutos. Produzir o relatório adiciona tempo insignificante, e runners rápidos mantêm toda a execução ágil para que o relatório chegue prontamente.

Principais conclusões

  • Um relatório de testes resume quais testes passaram, falharam ou foram pulados.
  • Formatos de máquina como JUnit XML permitem ao CI exibir e acompanhar resultados.
  • O CI exibe o relatório em pull requests para que as falhas fiquem óbvias.

Guias relacionados