Зробіть на консолі надійний показ стеку Maven


Відповіді:


56

Ви можете використовувати наступну команду, щоб побачити трасування стека на консолі замість файлів звітів у папці target / surefire-reports:

mvn -Dsurefire.useFile=false test

1
Це лише вихід журналу в консоль, але стек все одно надходить до
докладу

3
Відповідь за допомогою trimStackTrace краща!
рю-

187

Пов’язана проблема, яку я виявив, полягає в тому, що surefire в останніх версіях, очевидно, за замовчуванням встановлює trimStackTrace на true (робить більшість трасування стека марними), що досить незручно.

Встановлення -DtrimStackTrace=falseабо визначення

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

вирішив це.


61
Так. Мейвен не тільки друкує сторінки безглуздої діареї, але й приховує те, що вам насправді потрібно бачити.
Шрідхар Сарнобат

7
Я створив випуск про ці неправильні проблеми за замовчуванням. Apache.org/jira/browse/SUREFIRE-1457 . Прокоментуйте його, щоб допомогти його відновленню.
Реда Хусні Алауї,

2
@ RédaHousniAlaoui Здається, вони перенесли його до іншого випуску для JUnit 5: issues.apache.org/jira/browse/SUREFIRE-1432 Щойно там проголосували.
Kariem

Я встановлюю як trinStackTrace, так і "useFile" на false ... і все одно я просто не отримую слідів стека для своїх невдалих тестів :-(
Kris,

@Kris, ти маєш на увазі, що у стеках стеків багато рядків, на виході показано ... ще 26?
netawater

25

Щоб продовжити відповідь, подану раніше, ви також можете налаштувати цю поведінку у своєму pom.xml:

..
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.5</version>
  <configuration>
    <useFile>false</useFile>
  </configuration>
</plugin>
..
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.