Я пытаюсь упаковать свой проект. Но он автоматически запускает тесты, предшествующие выполнению упаковки. Тесты вставляют некоторый контент в базу данных. Это не то, что я хочу, мне нужно избегать запуска тестов во время упаковки приложения. Кто-нибудь знает, как запустить пакет без теста?
343
Ответы:
Запустить мавен с
источник
-DskipTests
но он больше не работает, есть идеи, почему?skipTests
предпочтительнее настройкиmaven.test.skip
.Просто предоставьте команду, указанную ниже, которая будет игнорировать выполнение тестовых случаев,
источник
-DskipTests
не работал для меня, когда я использовалmvn clean install -DskipTests
-DskipTests
то же самое, что и-Dmaven.test.skip.exec=true
stackoverflow.com/a/21933970/32453, и да, он компилирует тесты и не запускает их (тогда-Dmaven.test.skip=true
как не компилирует их)Вы можете добавить эту конфигурацию плагина к вашему pom, если вы не хотите устанавливать в командной строке arg:
источник
Обратите внимание, что -Dmaven.test.skip не позволяет Maven создавать артефакт test-jar.
Если вы хотите пропустить тесты, но создать артефакты в соответствии с обычным использованием сборки:
источник
Если вы попробуете это в Windows Powershell, вы получите эту ошибку:
Причина этого в том, что в Powershell «
-
» имеет особое значение и вызывает проблемы с maven.Решение состоит в том, чтобы добавить к нему обратную черту (`), например, так:
Ссылка: http://kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/
источник
также способ добавить в файл POM
источник
Вы можете передать
maven.test.skip
флаг в качестве аргумента JVM, чтобы пропустить выполнение тестов при запуске фазы пакета (и предыдущих в жизненном цикле по умолчанию):Вы также можете передать только
skipTests
флаг исполняемому файлу mvn. Если вы хотите включить эту информацию в своем POM, вы можете создать новый профиль , в котором можно настроить ,maven-surefire-plugin
чтобы пропустить тесты .источник
Вам нужно только предоставить
Вам больше не нужно добавлять
=true
.источник
В Inllij IDEA также есть возможность пропустить цель теста.
источник
Отвечая на старый и принятый вопрос здесь. Вы можете добавить это в свой файл pom.xml, если хотите все время избегать передачи аргумента командной строки:
источник
Вы можете добавить любую
-DskipTests
или-Dmaven.test.skip=true
любуюmvn
команду для пропуска тестов. В вашем случае это будет так:ИЛИ
источник
просто
mvn clean install -DskipTests
источник
Тесты всегда должны [1] выполняться перед пакетом. Если вам нужно отключить тесты, вы делаете что-то не так. Другими словами, вы пытаетесь решить не ту проблему. Выясните, в чем ваша проблема, и задайте этот вопрос. Похоже, это связано с базой данных.
[1] Вы можете пропустить тесты, когда вам нужно быстро сгенерировать артефакт для локального использования, но в целом создание артефакта всегда должно следовать за успешным выполнением теста.
источник
Сокращенное обозначение для выполнения сборки maven и пропуска тестов будет:
mvn clean install -DskipTests
источник
Для упаковки maven без заражения тестом maven:
источник
Вы, очевидно, делаете это неправильно. Тестирование является важной частью предварительной упаковки. Вы не должны игнорировать или пропускать это, а делать это правильно. Попробуйте изменить базу данных, в которую он вставляет данные (например, test_db). Это может занять некоторое время, чтобы настроить его. И чтобы эта база данных могла использоваться вечно, вы должны удалить все данные к концу тестов. JUnit4 имеет аннотации, которые облегчают вам задачу. Используйте аннотации @Before, @After @Test для правильных методов. Вам нужно потратить некоторое время на это, но оно того стоит!
источник
В Intellij перейдите в View -> Tool Windows -> выберите Maven Projects. В раскрывающемся списке «Lifecyle» щелкните правой кнопкой мыши пакет -> выберите «Создать свой проект [пакет]» ...
Введите это значение:
package -Dmaven.test.skip=true -f pom.xml
в поле Командная строка. Нажмите «Применить», и должно появиться выпадающее меню «Запустить конфигурации» вместе с созданной вами пользовательской командой maven.источник
mvn clean install -Dmaven.test.skip=true
работал для меня, так как
-Dskip
больше не работал.источник
источник
Лучший и самый простой способ сделать это - в IntelliJ Idea в окне «Проект Maven», и просто не нажимать кнопку «Тест». Надеюсь, я тебе помог. Хорошего дня :)
источник