Maven установка работает безотказно - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь отделить интеграционные тесты от обычного жизненного цикла, то есть я не хочу, чтобы они выполнялись во время mvn install. У меня есть следующая конфигурация:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${maven-surefire-plugin.version}</version>
        <configuration>
            <excludes>
                <exclude>**/*IT.java</exclude>
            </excludes>
        </configuration>
    </plugin>

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>${maven-surefire-plugin.version}</version>
        <configuration>
            <includes>
                <include>**/*IT.java</include>
            </includes>
        </configuration>
        <goals>
           <goal>integration-test</goal>
        </goals>
    </plugin>

И все мои интеграционные тесты имеют суффикс IT. Я смог подтвердить, что верный исключает тесты * IT. java, однако кажется, что отказоустойчивый запускается во время mvn install в любом случае. Чего мне не хватает?

Спасибо за помощь

1 Ответ

1 голос
/ 20 февраля 2020

Типичная конфигурация для решения проблемы с запуском интеграционных тестов, только если вам нравится, это профиль, подобный следующему:

<profiles>
   <profile>
      <id>run-its</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>integration-test</goal>
                  <goal>verify</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

Используя вышеуказанную конфигурацию, вы можете запустить

mvn clean verify 

который выполнит юнит-тесты. Используя следующее, вы можете активировать интеграционные тесты:

mvn -Prun-its clean verify

В соответствии с соглашениями об именах по умолчанию интеграционные тесты, которые будут выполняться с помощью maven-failsafe-plugin, должны называться как *IT.java, где в качестве модульных тестов может иметь имя типа *Test.java (будет выполнено через плагин maven-surefire).

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