Как построить банку, используя maven, игнорируя результаты теста?
Актуальность, когда я запускаю тесты, которые они терпят неудачу, но мне нужно запустить их, чтобы получить некоторые .class файлы, которые очень важны для моего баннера.
По умолчанию, когда результаты теста терпят неудачу, jar не создается, могу ли я добавить параметр в pom.xml, который игнорирует это, поэтому я могу построить банку, игнорирующую результаты тестов?
Я кое-что прочитал о "Плагине Maven Surefire", но я не знаю, как его использовать...
Ответы
Ответ 1
Подробнее см. surefire: test, но наиболее полезными являются:
-Dmaven.test.failure.ignore = true (или -DtestFailureIgnore = true) - будет игнорировать любые сбои, произошедшие во время выполнения теста
-Dmaven.test.error.ignore = true (устаревший) - игнорирует любые ошибки, возникшие во время выполнения теста
-DskipTests - скомпилирует тестовые классы, но полностью пропустит выполнение теста
-Dmaven.test.skip = true - даже не будет компилировать тесты
Я считаю, что в вашем случае, когда вы хотите скомпилировать тестовые классы, но не сработаете из-за каких-либо ошибок тестов и еще создайте банку.
Вы должны использовать первый вариант, чтобы игнорировать любые сбои тестирования, которые вы все еще можете просмотреть после завершения сборки.
Ответ 2
mvn -Dmaven.test.skip=true package
пропускает этап тестирования
чтобы игнорировать ошибки тестирования и поддерживать остановку maven, вы можете добавить это в раздел pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
Ответ 3
Решение:
mvn -fn clean install
выполнить mvn --help
для расширенных параметров
Здесь выдержка для -fn
-fn,--fail-never NEVER fail the build, regardless
of project result
Ответ 4
<properties>
<maven.test.skip>true</maven.test.skip>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>
http://jira.codehaus.org/browse/SUREFIRE-319
Или из командной строки
http://maven.apache.org/maven-1.x/plugins/test/properties.html
maven.test.error.ignore Да Установить это верно, чтобы игнорировать ошибки во время тестирование. Его использование НЕ РЕКОМЕНДУЕТСЯ, но довольно удобно в случае
Ответ 5
Используйте -DskipTests = true вместо -Dmaven.test.skip = true, чтобы пропустить тесты, но скомпилировать их.
Использование -Dmaven.test.failure.ignore = true также будет работать, но не очень приятно.
Ответ 6
Используйте параметр maven -Dmaven.test.skip = true
например.
mvn package -Dmaven.test.skip = true