Выходные данные о неудачных тестах в stdout с помощью 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.
Чтобы получить подробную информацию о проблеме, я должен пойти и проверить папку отчетов справки. Выполнение этого каждый раз, когда мои тесты терпят неудачу, становится раздражающим. Есть ли способ получить эти данные (assert message + exception + trace trace) прямо здесь, на stdout?
Ответы
Ответ 1
Я нахожу там слишком много результатов, полученных на stdout
, чтобы быть полезным. Попробуйте оставить отчет HTML открытым в своем браузере. После запуска тестов просто обновите страницу. Посмотрите target/surfire-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>
Ответ 2
попробуйте использовать команду ниже Maven
mvn clean install -DskipTests
-DskipTests
компилирует тесты, но пропускает их
Ответ 3
Возможно, вы используете более старую версию Surefire. Я обнаружил, что более новые версии производят более полезный вывод на консоли.
Если вы хотите видеть только неудачные тесты или тесты с ошибками и видеть только ошибки в сборке, вы можете передать аргумент -q в команду сборки Maven.