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.