Как построить банку, используя 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