it-roy-ru.com

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

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

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

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

22
Paulius Matulionis

Попробуйте с:

mvn clean install -DskipTests

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

33
jelies

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

mvn install -Dmaven.test.skip

От Maven веб-сайт:

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

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

10
maba

От http://maven.Apache.org/plugins/maven-surefire-plugin/examples/skipping-test.html :

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.Apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12.2</version>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>
4
Buhb

Мой любимый способ управления при запуске тестов - создать переменную 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, когда вы не хотите, чтобы они запускались. Это наиболее полезно, когда у вас есть интеграционные и модульные тесты, и вы хотите запустить или отключить оба набора тестов только с одной переменной.

4
Chris Cashwell

использовать этот

mvn clean install -DskipTests 

3
Eugene

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

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

mvn clean package -DskipTests

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

mvn clean package -DskipIT

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

mvn clean test-compile failsafe:integration-test
0
wulfgarpro