Spraw, aby Maven na pewno wyświetlał ślad stosu w konsoli


Odpowiedzi:


56

Możesz użyć następującego polecenia, aby wyświetlić ślad stosu na konsoli zamiast plików raportów w folderze target / surefire-reports:

mvn -Dsurefire.useFile=false test

1
To ma tylko wyjście loggera do konsoli, ale stacktraces nadal trafia do
surefire

3
Odpowiedź za pomocą trimStackTrace jest lepsza!
rü-

188

Podobnym problemem, który znalazłem, jest to, że surefire w ostatnich wersjach najwyraźniej ustawia trimStackTrace domyślnie na true (renderowanie większości śladów stosu w nieudanych testach jest bezużyteczne), co jest dość niewygodne.

Ustawienie -DtrimStackTrace=falselub zdefiniowanie

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

rozwiązał to.


61
Tak. Maven nie tylko drukuje strony bezsensownej biegunki, ale także ukrywa to, co naprawdę musisz zobaczyć.
Sridhar Sarnobat

7
Utworzyłem problem dotyczący tego błędnego domyślnego problemu.apache.org/jira/browse/SUREFIRE-1457 . Prosimy o komentarz, aby pomóc w ponownym otwarciu.
Réda Housni Alaoui

2
@ RédaHousniAlaoui Wygląda na to, że przenieśli to do innego numeru JUnit 5: Issues.apache.org/jira/browse/SUREFIRE-1432 Właśnie tam głosowaliśmy.
Kariem,

Ustawiam zarówno „trinStackTrace”, jak i „useFile” na false ... i nadal nie otrzymuję śladów stosu dla moich niepowodzeń testu :-(
Kris

@Kris, czy masz na myśli, że ślady stosu mają dużo linii, a wyjście pokazuje ... 26 więcej?
netawater

25

Aby rozszerzyć udzieloną wcześniej odpowiedź, możesz również skonfigurować to zachowanie w swoim pom.xml:

..
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.5</version>
  <configuration>
    <useFile>false</useFile>
  </configuration>
</plugin>
..
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.