Faça o maven's infalível mostrar stacktrace no console


Respostas:


56

Você pode usar o seguinte comando para ver o rastreamento de pilha no console em vez de arquivos de relatório na pasta target / surefire-reports:

mvn -Dsurefire.useFile=false test

1
Isso só tem saída do logger no console, mas os rastreamentos de pilha ainda vão para relatórios infalíveis
lisak

3
A resposta usando trimStackTrace é melhor!
rü-

187

Um problema relacionado que descobri é que o surefire em versões recentes aparentemente define trimStackTrace como verdadeiro por padrão (tornando inútil a maioria dos rastreamentos de pilha em testes com falha), o que é bastante inconveniente.

Definir -DtrimStackTrace=falseou definir

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <trimStackTrace>false</trimStackTrace>
    </configuration>
</plugin>

resolveu isso.


61
Sim. O Maven não apenas imprime páginas de diarreia inútil, mas também esconde o que você realmente precisa ver.
Sridhar Sarnobat,

7
Eu criei um problema sobre esse padrão errado . Problems.apache.org/jira/browse/SUREFIRE-1457 . Comente para facilitar a sua reabertura.
Réda Housni Alaoui

2
@ RédaHousniAlaoui Parece que eles mudaram para outro número da JUnit 5: issues.apache.org/jira/browse/SUREFIRE-1432 Acabei de votar aqui.
Kariem

Eu defini 'trinStackTrace' e 'useFile' como falso ... e ainda não estou recebendo rastreamentos de pilha para minhas falhas de teste :-(
Kris

@Kris, você quer dizer que os rastreamentos de pilha têm muitas linhas, o resultado mostra ... mais 26?
netawater

25

Para estender a resposta dada antes, você também pode configurar esse comportamento em pom.xml:

..
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.5</version>
  <configuration>
    <useFile>false</useFile>
  </configuration>
</plugin>
..
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.