Исключить тесты из сборки Maven - программирование
Подтвердить что ты не робот

Исключить тесты из сборки Maven

Когда я запускаю maven clean install, он всегда выполняет все тесты в src/test/java, есть ли способ пропустить все тесты, просто чтобы запустить простую сборку без каких-либо тестов.

Я хочу, чтобы мои тесты были в src/test/java, но я хочу сказать maven, чтобы они не выполняли их. Я искал что-то подобное в Интернете, но мне не удалось найти ответ.

Есть ли способ сделать это?

4b9b3361

Ответ 1

Попробуйте:

mvn clean install -DskipTests

Источник здесь.

Ответ 2

Вы также можете использовать

mvn install -Dmaven.test.skip

Из веб-сайт Maven:

Если вам абсолютно необходимо, вы также можете использовать свойство maven.test.skip, чтобы пропустить компиляцию тестов. maven.test.skip удостоен Surefire, Failsafe и плагина компилятора.

Как сказано, вы даже не скомпилируете тестовые источники.

Ответ 4

используйте этот

mvn clean install -DskipTests

Ответ 5

Мой любимый способ управления при выполнении моих тестов - создать переменную Maven с именем skip-tests и по умолчанию - true. Затем вы можете использовать эту переменную следующим образом:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.12.2</version>
    <configuration>
      <skipTests>${skip-tests}</skipTests>
    </configuration>
  </plugin>

Таким образом, вы можете просто передать переменную во время сборки -Dskip-tests=false, если вы не хотите, чтобы они запускались. Это наиболее полезно, если у вас есть интеграционные и модульные тесты, и вы хотите запустить или отключить оба набора тестов только с одной переменной.

Ответ 6

Мы используем Surefire для модульных тестов и Failsafe для тестов интеграции.

Чтобы пропустить все тесты:

mvn clean package -DskipTests

Чтобы пропустить только тесты Failsafe:

mvn clean package -DskipIT

Чтобы пропустить только Surefire, вам нужно явно вызвать цель интеграции-тестирования плагина Failsafe, конечно же, после компиляции тестовых классов:

mvn clean test-compile failsafe:integration-test

Ответ 7

Я думаю, что самым простым было бы следующее: mvn clean package -Dmaven.skip.tests=true

Я думаю, что это подход к использованию, так как он не заставляет вас менять свой pom, поэтому не нужно вносить изменения в проект.