Как я могу запустить плагин maven-release-plugin без запуска тестов?
я пытался
-Dmaven.test.skip=true
и
-DskipTests
и
-DpreparationGoals=clean
... пока ничего не работает.
Да, я знаю, что не должен выпускать, если тесты не пройдут, но я не могу контролировать, чтобы мои коллеги писали надежные тесты.
2
. Я потратил часы, пытаясь понять это правильно ... но 1. Я что-то упустил в документации или в документации mvn чего-то не хватает? 2. Я<skipTests>true</skipTests>
настроил в своей компании POM. Все еще не работал. То, что сработало, было вашим решением.-Darguments="..."
передает аргументы разветвленному процессу maven, но важно понимать, что здесь используются два разных переключателя. В-DskipTests
силах Maven не запускать любые испытания, но тесты все еще компилируются (это важно , если у вас есть какие - либо зависимости от типа теста-банки). В-Dmaven.test.skip=true
силах Maven даже не компилировать тесты, а это значит , что не будет генерироваться любой тест-банка.Таким образом, вы должны использовать
-Darguments
, но чтобы пропустить только запущенные тестыskipTests
, прервать их компиляциюmaven.test.skip
.источник
Если вы просто хотите пропустить интеграционные тесты, это сделает это:
источник
у вас слишком разные варианты, чтобы избежать и пропустить тесты с плагином релиза
Exemple:
mvn -X -Darguments="-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true" -P release-mode release:prepare
-Второй вариант - выполнить эти аргументы в pom.xml в сборке следующим образом:
Обратите внимание, что второй метод переопределяет первый.
Я рекомендовал вам подготовить релиз сначала по одному действию, а затем вы можете отредактировать файл release.properties в рабочем каталоге и посмотреть
exec.additionalArguments
свойства, если ваши аргументы есть. Это будет выглядеть так:exec.additionalArguments=-Dmaven.javadoc.skip\=true -Dmaven.test.skipTests\=true -Dmaven.test.skip\=true -P release-mode
.После вы можете выполнить релиз.
источник
Чтобы пропустить весь модульный тест, он использует аргумент
так что если вы хотите пропустить юнит тест, это решит
или же вы можете определить skipTests в maven-surefire-plugin в
источник
Никакой плагин Maven буквально не запускает компиляцию или выполнение теста. Именно фазы жизненного цикла maven запускают выполнение одного или нескольких плагинов, когда они имеют определенные цели для конкретной фазы.
Таким образом, простого выполнения одной цели плагина будет достаточно без выполнения тестов:
или объединить с проектом сборки и упаковки:
источник