Fai in modo che Maven mostri lo stacktrace in modo sicuro nella console


Risposte:


56

È possibile utilizzare il seguente comando per visualizzare la traccia dello stack sulla console invece dei file di report nella cartella target / surefire-reports:

mvn -Dsurefire.useFile=false test

1
Questo ha solo l'output del logger nella console, ma stacktraces va ancora ai rapporti infallibili
lisak

4
La risposta usando trimStackTrace è migliore!
rü-

193

Un problema correlato che ho trovato è che infallibile nelle versioni recenti apparentemente imposta trimStackTrace su true per impostazione predefinita (rendendo inutile la maggior parte delle tracce dello stack nei test falliti), il che è piuttosto scomodo.

Impostazione -DtrimStackTrace=falseo definizione

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

risolto questo.


63
Sì. Maven non solo stampa pagine di diarrea inutile, ma nasconde ciò che devi effettivamente vedere.
Sridhar Sarnobat

7
Ho creato un problema su questo problema predefinito errato . Apache.org/jira/browse/SUREFIRE-1457 . Si prega di commentarlo per aiutare la sua riapertura.
Réda Housni Alaoui

2
@ RédaHousniAlaoui Sembra che lo abbiano spostato su un altro numero di JUnit 5: issues.apache.org/jira/browse/SUREFIRE-1432 Ho appena votato lì.
Kariem

Ho impostato sia 'trinStackTrace' che 'useFile' su false ... e ancora non ricevo tracce di stack per i miei errori di test :-(
Kris

@ Kris, vuoi dire che le tracce dello stack hanno molte linee, l'output mostra ... altre 26?
Netawater

25

Per estendere la risposta data in precedenza, puoi anche configurare questo comportamento nel tuo pom.xml:

..
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.5</version>
  <configuration>
    <useFile>false</useFile>
  </configuration>
</plugin>
..
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.