Сделайте maven уверенным показом stacktrace в консоли

Ответы:

56

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

mvn -Dsurefire.useFile=false test
Евгений Кулешов
источник
1
У этого есть только вывод логгера в консоль, но трассировки стека по-прежнему идут в отчеты
surefire
3
Ответ с помощью trimStackTrace лучше!
rü-
188

Связанная с этим проблема, которую я обнаружил, заключается в том, что в последних версиях surefire явно устанавливает для trimStackTrace значение true по умолчанию (делая большую часть трассировки стека в неудачных тестах бесполезной), что довольно неудобно.

Установка -DtrimStackTrace=falseили определение

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

решил это.

h7r
источник
61
Ага. Maven не только печатает страницы с бессмысленной диареей, но и скрывает то, что вам действительно нужно увидеть.
Шридхар Сарнобат
7
Я создал проблему из-за неправильной проблемы по умолчанию. Apache.org/jira/browse/SUREFIRE-1457 . Пожалуйста, прокомментируйте его, чтобы облегчить его повторное открытие.
Réda Housni Alaoui
2
@ RédaHousniAlaoui Похоже, они переместили его в другой выпуск JUnit 5: issues.apache.org/jira/browse/SUREFIRE-1432 Только что проголосовали там.
Карием
Я установил для 'trinStackTrace' и 'useFile' значение false ... и все же у меня просто нет трассировки стека для моих тестов :-(
Крис
@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>
..
Егор256
источник