Maven - Як складати тести, не запускаючи їх?


128

Чи є спосіб у Maven скласти тести, не запускаючи їх? Я хочу використовувати IDE для запуску конкретних тестів і не всіх.


8
Вам, мабуть, слід відредагувати питання або змінити прийняту відповідь.
Chiranjib

Відповіді:


29

ви можете спробувати використовувати параметр -DskipTests

Список літератури:


У Netbeans, це те, що я робив. Я бачу наступне mvn -Dmaven.test.skip = true -Dnetbeans.execution = true clean install, то я бачу наступне
user373201

[компілятор: testCompile] Не компілюються джерела тесту [surefire: test] Тести пропускаються. Як мінімум використання netbeans виглядає так, якщо тести пропущено, вони не збирають джерела тестування
user373201

1
Неважливо, хоча журнали говорять про це, він все ще здається складати тестові файли.
користувач373201

34
це призводить до пропускання тестів повністю: виконання, а також компіляція, див. правильну відповідь нижче: тест-компіляція. Я використовую це з mvn clean test test-компіляція в Eclipse
Yashima

3
@Yashima Ви маєте рацію, цей відповідач не настільки розумний ... прийміть відповідь нижче, тому можна видалити цей
lweller

334

Як щодо test-compileфази життєвого циклу? Для цього не потрібно пропускати тести, оскільки це відбувається перед testфазою. Тобто,

$ mvn test-compile

І зробили.

Вступ до життєвого циклу побудови пояснює далі.


7
Це саме те, що мені було потрібно, дякую. Я не знаю про оригінального запитувача; але я хотів скласти тести, а потім запустити їх окремим тестовим бігуном.
Майк Міллер


26

Виконуючи ціль, яка буде включати етап тестування (наприклад, пакет), ви можете зробити дві речі:

  • Використовуйте команду mvn -DskipTests=true package . Це дозволить скласти всі тести, але не запустити їх.
  • Або mvn -Dmaven.test.skip=true package. Це не буде компілювати або запускати тестову гілку.

3

Як варіант, ви можете скористатися maven.test.skip.execопцією.

mvn -Dmaven.test.skip.exec=true

Maven складе тести, не запускаючи їх. Я регулярно використовую цей варіант у всіх своїх проектах.



0

Якщо ви налаштуєте файл.xml, ви також можете використовувати

<maven.test.skip>true</maven.test.skip>

5
Ти ніколи цього не повинен робити. Якщо вам це потрібно, встановіть його в командному рядку, але ніколи не назавжди.
Шон Патрік Флойд

13
Ніколи не говорив, що ти повинен чи не повинен цього робити. Просто надання знань про варіант.
menapole

4
Це призводить до того, що Maven також не збирає тести.
Майк Міллер

3
@Sean Патрік Флойд: чому б і ні? це НЕ постійне, це було б встановити його в pom.xml.
Balázs Németh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.