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
Eugene Kuleshov
fonte
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.

h7r
fonte
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>
..
Yegor256
fonte