maven не пропускает тесты с <skipTests>true </skipTests> - PullRequest
0 голосов
/ 22 марта 2019

если я запускаю maven из командной строки:

mvn clean install -DskipTests

это на самом деле работает и пропускает тесты, но если я делаю это в затмении, оно все равно всегда запускает тесты

<plugins>
       <!-- Maven Assembly Plugin -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                    <configuration>
                        <excludes>
                            <exclude>**/UTest*.java</exclude>
                        </excludes>
                        <maven.test.skip>true</maven.test.skip>
                        <skipTests>true</skipTests>
                        <!-- get all project dependencies -->
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                        <archive>
                            <manifest>                                    <mainClass>com.example.MyMainClass/mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                </execution>
            </executions>
        </plugin>

Итак, я попробовал три разных способа, все показанные выше:

1) <skipTests>true</skipTests>
2) <maven.test.skip>true</maven.test.skip>
3) <excludes>...</excludes>

В затмении он всегда будет запускать тесты

1 Ответ

1 голос
/ 22 марта 2019

Плагин сборки не запускает тесты. Maven Работает через фазы жизненного цикла. Фаза install запустит (не исчерпывающий) плагин компилятора, верный, отказоустойчивый, сборка.

Больше информации здесь, Что такое цели и фазы Maven и в чем их отличие?

Плагин surefire управляет выполнением модульных тестов, чтобы полностью пропустить тесты, вы можете добавить следующее в конфигурацию ваших плагинов

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>

Failsafe - это тестер интеграции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...