O Que É um Relatório JUnit?
Um relatório JUnit é um arquivo XML padrão que descreve resultados de testes - quais testes rodaram, quais passaram, quais falharam e quanto tempo levaram.
Apesar do nome, o formato XML do JUnit é usado muito além do Java. Ele se tornou o padrão de facto que test runners em várias linguagens emitem e que plataformas de CI fazem parse para exibir resultados, para que o tooling não precise de um parser por framework.
O que ele contém
Um XML JUnit lista test suites e test cases com seu status (passou, falhou, foi pulado), durações e mensagens de falha ou stack traces. A maioria dos frameworks pode gerá-lo diretamente ou via um plugin de reporter.
Por que o CI adora
Como o formato é padrão, uma plataforma de CI pode ingerir resultados de pytest, Jest, Go, PHPUnit e dezenas de outros da mesma forma - renderizando status por teste, evidenciando falhas e rastreando testes flaky ao longo das execuções.
Um pequeno exemplo
Executar pytest --junitxml=results.xml produz um arquivo com elementos <testsuite> e <testcase>. Um step de test-reporter do CI o lê e renderiza cada caso que falhou com sua mensagem, em vez de você rolar a saída bruta.
Produzindo um
Você configura seu runner para emitir XML JUnit, depois faz upload dele ou aponta o step de test-reporting do CI para ele. A plataforma o faz parse em uma visão de resultados legível, frequentemente anotando as linhas que falharam no pull request.
Limites do formato
O XML JUnit não tem um único schema formal, então os dialetos variam ligeiramente entre ferramentas. A maioria dos consumidores é tolerante, mas campos exóticos podem ser ignorados - mantenha-se nos elementos comuns (suites, cases, failures, durations) para portabilidade.
Principais conclusões
- O XML do JUnit é um formato padrão multilinguagem para resultados de testes.
- Ele registra status por teste, tempo e detalhes de falha.
- Sua ubiquidade permite que uma integração de CI lide com muitos frameworks.