xml de resumo do teste de saída do plugin Maven surefire?

Aug 29 2020

Estou em um projeto que usa os plugins maven Surefire e Failsafe para executar testes de unidade e integração, respectivamente. A saída de failsafe produz um resumo do teste executado em target/failsafe/failsafe-summary.xml. Eu gostaria de obter um .xmlrelatório resumido semelhante da surefire, no entanto, só consigo obter um arquivo xml por suíte de teste lá.

É possível configurar o surefire para fazer isso?

Respostas

1 xerx593 Aug 29 2020 at 19:09

É possível configurar o surefire para fazer isso?

(crie 1 arquivo de relatório/execução em vez de 1/conjunto de testes)

Não, não sem personalizar o plugin surefire/surefire-report.

Como as únicas opções de configuração "relacionadas à saída" (atualizadas) (de surefire-plugin:test ) são:

  • codificação
  • redirectTestOutputToFile
  • reportFormat (padrão - "breve", alternativamente - "simples" (arquivos *.txt))
  • reportNameSuffix
  • reportsDirectory

E o único propósito do plugin surefire-report é a geração de relatórios maven (html!).


Para essa necessidade especial, recomendo um script personalizado ou plugin (maven) (baseado em um dos itens acima - eles são de código aberto). Você também pode tentar "resolver o problema da fonte" combinando todas as suas classes/fatos de teste em um só!? :)

xerx593 Aug 28 2020 at 22:19

Plugin de relatório Maven Surefire

É o direito para nós, uma vez que:

O Surefire Report Plugin analisa os TEST-*.xmlarquivos gerados ${basedir}/target/surefire-reportse os renderiza usando DOXIA, que cria a versão da interface web dos resultados do teste.

De acordo comhttps://maven.apache.org/surefire/maven-surefire-report-plugin/usage.html, nós podemos:

Gerar o relatório como parte dos relatórios do projeto

Para gerar o relatório Surefire como parte da geração do site, adicione o seguinte na <reporting>seção do seu POM:

<project>
    ...
    <reporting>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-report-plugin</artifactId>
          <version>3.0.0-M5</version>
        </plugin>
      </plugins>
    </reporting>
    ...
  </project>

Ao mvn siteser invocado, o relatório será automaticamente incluído no menu Relatórios do Projeto conforme mostrado na figura abaixo.

...ou

Gere o relatório de forma independente

O plug-in também pode gerar o relatório usando seu objetivo autônomo:

mvn surefire-report:reportUm relatório HTML deve ser gerado em ${basedir}/target/site/surefire-report.html.

Receber! ;)