Вывод сведений о неудачном тесте на стандартный вывод с помощью maven surefire

Когда я запускаю свою сборку с помощью maven 2

mvn clean install

мои тесты выполняются плагином surefire. В случае сбоя теста я получаю следующий вывод:

Results :

Failed tests: 
  test1(com.my.MyClassTest)

Tests run: 3, Failures: 1, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.

Please refer to /home/user/myproject/mymodule/target/surefire-reports for the individual test results.

Чтобы получить подробную информацию о проблеме, я должен пойти и проверить папку с верными отчетами. Делать это каждый раз, когда мои тесты терпят неудачу, становится раздражающим. Есть ли способ получить эти данные (сообщение подтверждения + исключение + трассировка стека) прямо здесь, на стандартный вывод?


person pavel_kazlou    schedule 18.11.2011    source источник


Ответы (3)


Я считаю, что на stdout слишком много информации, чтобы быть полезной. Попробуйте оставить HTML-отчет открытым в браузере. После запуска тестов просто обновите страницу. Посмотрите на target/surefire-reports/index.html.

Чтобы вывести результаты теста в stdout, а не в файл, используйте следующую команду:

mvn test -Dsurefire.useFile=false

Или для настройки в pom.xml добавьте следующее в раздел plugins.

<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.10</version>
  <configuration>
    <useFile>false</useFile>
  </configuration>
</plugin>
person orien    schedule 18.11.2011
comment
Спасибо! Пропустил этот вариант. Таким образом, единственное, что выводится на консоль вместо файла, — это краткий отчет, в то время как все остальные отчеты, такие как отчеты в формате xml, html, все еще создаются? - person pavel_kazlou; 18.11.2011
comment
да. Таким образом, у вас есть сообщение об утверждении, сообщение об исключении и трассировка стека прямо здесь, на stdout. - person orien; 18.11.2011
comment
У меня эта команда не всегда работает... она сработала в первый раз, я исправил проблемы, я нажал стрелку вверх и запустил ее снова, но в следующий раз я выплюнул сообщение о необходимости проверить цель/ surefire-отчеты снова, без содержимого файла. - person ArtOfWarfare; 21.10.2013

Возможно, вы используете более старую версию Surefire. Я обнаружил, что более новые версии производят более полезный вывод на консоли.

Если вы хотите видеть только неудачные тесты или тесты с ошибками и видеть только ошибки в сборке, вы можете передать аргумент -q вашей команде сборки Maven.

person Jim Bethancourt    schedule 16.01.2019

попробуйте использовать команду bellow maven

mvn clean install -DskipTests

-DskipTests компилирует тесты, но не запускает их

person Vipul Gulhane    schedule 10.07.2018