Подтвердить что ты не робот

Maven - Пропустить классы тестирования здания

Есть ли простой способ не создавать тестовые классы?

mvn clean install -Dmaven.test.skip=true

Вальтер

4b9b3361

Ответ 1

В соответствии с документацией на плагине Maven Surefire, -Dmaven.test.skip должен пропустить как компиляцию, так и выполнение тестов. Напротив, -DskipTests просто пропускает выполнение теста: тесты все еще компилируются.

Ответ 2

Просто, чтобы быть явным образом:

skipTests будет компилировать все в <testSourceDirectory>, но не выполнит их.

maven.test.skip будет НЕ компилировать любые тесты, но WILL выполнит любые скомпилированные тесты, которые пробились в <testOutputDirectory>.

Таким образом, поведение вышеприведенного 2 противоположно. Просто хотел указать, что maven.test.skip не пропускает компиляцию и выполнение, если тестовые файлы распакованы/скопированы/etc. в <testOutputDirectory>.

Кроме того, в зависимости от того, какая версия Maven вы используете, также maven.test.skip.exec=true, который дополнительно пропускает тестовое выполнение, похожее на skipTests.

Ответ 3

Запустите фазу, которая не включает test-compile, например compile.

mvn clean compile

Ответ 4

Я не эксперт в maven, но то, что я использую в своем текущем проекте, это:

mvn clean install -DskipTests=true

В зависимости от вашего варианта использования:

mvn compile -DskipTests=true

может работать и для вас.

Ответ 5

Кажется, что maven-compiler-plugin не предоставляет параметр для пропуска компиляции тестовых источников. Я нашел обход в другом question, который фактически переопределяет выполнение плагина, добавив следующий фрагмент в ваш pom.xml:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <executions>
        <execution>
          <id>default-testCompile</id>
          <phase>none</phase>
        </execution>
      </executions>
   </plugin>
  </plugins>
</build>

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