Как собрать банку, используя maven, игнорируя результаты тестов? - PullRequest
99 голосов
/ 29 июля 2010

Фактически, когда я запускаю тесты, они терпят неудачу, но мне нужно запустить их, чтобы получить некоторые файлы .class, которые очень важны для моей банки.я добавляю параметр в pom.xml, который игнорирует это, так что я могу создать банку, игнорируя результаты тестов?

Я читал кое-что о «Плагине Maven Surefire», но не знаю, как его использовать.

Ответы [ 6 ]

156 голосов
/ 22 мая 2013

Пожалуйста, обратитесь к верный: тест для деталей, но наиболее полезные свойства:

-Dmaven.test.failure.ignore = true (или -DtestFailureIgnore = true ) - будет игнорировать любые сбои, возникшие во время выполнения теста

-Dmaven.test.error.ignore = true (устарело) - будет игнорировать любые возникшие ошибкиво время выполнения теста

-DskipTests - скомпилирует тестовые классы, но пропустит выполнение теста полностью

-Dmaven.test.skip = true - будетдаже не скомпилировать тесты

Я полагаю, что в вашем случае вы хотите скомпилировать тестовые классы , но не потерпите неудачу при сборке из-за каких-либо ошибок тестов и все же создаете jar .

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

39 голосов
/ 29 июля 2010

mvn -Dmaven.test.skip=true package пропускает верный тестовый mojo.

, чтобы игнорировать неудачи теста и не допустить остановки maven. Вы можете добавить это в раздел файла pom.xml:

 <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-surefire-plugin</artifactId>
   <configuration>
     <testFailureIgnore>true</testFailureIgnore>
   </configuration>
 </plugin>
24 голосов
/ 30 июля 2010

Решение:

mvn -fn clean install

выполнить mvn --help для расширенных параметров

Вот выдержка для -fn

 -fn,--fail-never         NEVER fail the build, regardless
                          of project result
17 голосов
/ 29 июля 2010
<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 Да указан это правда, чтобы игнорировать ошибки во время тестирование. Его использование НЕ РЕКОМЕНДУЕТСЯ, но довольно удобно в некоторых случаях

3 голосов
/ 05 июля 2012

Используйте -DskipTests = true вместо -Dmaven.test.skip = true, чтобы пропустить тесты, но скомпилировать их.

Использование -Dmaven.test.failure.ignore = true также будет работать, но не очень хорошо.

0 голосов
/ 29 июля 2010

Используйте опцию maven -Dmaven.test.skip = true

например. пакет mvn -Dmaven.test.skip = true

...