Я новичок в Maven. Я пытаюсь упаковать свой проект. Но он автоматически запускает тесты. Тесты вставляют некоторый контент в базу данных. Это не то, что я хочу, мне нужно избегать запуска тестов при упаковке приложения. Кто-нибудь знает, как запустить пакет без теста?
Упаковка Maven без теста (тесты пропуска)
Ответ 1
Запустите maven с помощью -Dmaven.test.skip=true
Ответ 2
Просто укажите приведенную ниже команду, которая будет игнорировать выполнение тестовых примеров,
mvn package -DskipTests
Ответ 3
вы можете добавить эту конфигурацию плагина к своему pom, если вы не хотите устанавливать командную строку arg:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
Ответ 4
Обратите внимание, что -Dmaven.test.skip предотвращает создание Maven артефактом тестового баннера.
Если вы хотите пропустить тесты, но создавать артефакты в соответствии с обычным использованием сборки:
-Dmaven.test.skip.exec
Ответ 5
Если вы пытаетесь это сделать в Windows Powershell, вы получите эту ошибку:
[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format...
Причиной этого является то, что в Powershell "-
" имеет особое значение и вызывает проблему с maven.
Решение состоит в том, чтобы добавить его с помощью backtick (`), например.
mvn `-Dmaven.test.skip=true install
Ответ 6
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
также является способом добавления в файл pom
Ответ 7
Вы можете передать флаг maven.test.skip
в качестве аргумента JVM, чтобы пропускать текущие тесты, когда выполняется фаза пакета (и предыдущие в жизненном цикле по умолчанию):
mvn package -Dmaven.test.skip=true
Вы также можете передать флаг skipTests
только в исполняемый файл mvn. Если вы хотите включить эту информацию в свой POM, вы можете создать новый профиль, в котором вы можете настроить maven-surefire-plugin
на пропустить тесты.
Ответ 8
Вам нужно только предоставить
-Dmaven.test.skip
Вам больше не нужно добавлять =true
.
Ответ 9
Отвечая на старый и принятый вопрос. Вы можете добавить это в свой pom.xml, если хотите избежать передачи аргумента командной строки все время:
<properties>
<skipTests>true</skipTests>
</properties>
Ответ 10
Тесты всегда должны выполняться [1] перед пакетом. Если вам нужно отключить тесты, вы делаете что-то неправильно. Другими словами, вы пытаетесь решить неправильную проблему. Подумайте, какова ваша проблема на самом деле, и задайте этот вопрос. Похоже, что это связано с базой данных.
[1] Вы можете пропустить тесты, когда вам нужно быстро создать артефакт для локального использования в целях разработки, но в целом создание артефакта должно всегда следовать успешному тестовому прогону.
Ответ 11
Вы, очевидно, делаете это неправильно. Тестирование является важной частью предварительной упаковки. Вы не должны игнорировать или пропускать его, а делать это правильно. Попробуйте изменить базу данных, в которую она вставляет данные (например, test_db). Это может занять некоторое время, чтобы настроить его. И чтобы убедиться, что эту базу данных можно использовать навсегда, вы должны удалить все данные к концу тестов. JUnit4 имеет аннотации, которые облегчают вам работу. Используйте @Before, @After @Test аннотации для правильных методов. Вам нужно потратить какое-то время на это, но это того стоит!
Ответ 12
просто mvn clean install -DskipTests
Ответ 13
Вы можете добавить -DskipTests
или -Dmaven.test.skip=true
к любой команде mvn
для пропуска тестов. В вашем случае это будет выглядеть так:
mvn package -DskipTests
ИЛИ ЖЕ
mvn package -Dmaven.test.skip=true
Ответ 14
mvn clean install -Dmaven.test.skip=true
работал у меня, так как -Dskip
больше не работал.
Ответ 15
mvn package -Dmaven.test.skip=true
Ответ 16
В Inllij IDEA также есть возможность пропустить цель теста.
Ответ 17
Лучший и самый простой способ сделать это в IntelliJ Idea в окне "Проект Maven", и просто не нажимать кнопку "Тест". Надеюсь, я тебе помог. Хорошего дня :)
Ответ 18
В Intellij перейдите в View → Tool Windows → выберите Maven Projects. В раскрывающемся списке Lifecyle щелкните правой кнопкой мыши пакет → выберите Создать "ваш проект [пакет]"...
Введите это значение: package -Dmaven.test.skip=true -f pom.xml
в поле Командная строка. Нажмите "Применить", после чего должно появиться выпадающее меню "Выполнить настройки" вместе с созданной вами пользовательской командой maven.
Ответ 19
Для упаковки maven без заражения тестом maven:
<properties>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>