Maven не распознает интеграционные тесты в многомодульном проекте - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь настроить интеграционное тестирование для моего многомодульного проекта Maven с помощью отказоустойчивого плагина. В меньшем фиктивном проекте у меня была следующая структура:

pom.xml
src 
-main
--java
---com
----App.java
-test
--java 
---com 
----AppIT.java

Вот соответствующее дополнение к pom.xml:

<profiles>
  <profile>
    <id>failsafe</id>
    <build>
      <plugins>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.22.0</version>
          <executions>
             <execution>
               <goals>
                 <goal>integration-test</goal>
                 <goal>verify</goal>
               </goals>
             </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
  </profile>
</profiles>         

Все работало нормально, и тест был обнаружен, когда я запустил mvn verify -Pfailsafe.

enter image description here

Для нового проекта у меня есть следующее структура:

pom.xml
module-1
module-2
module-testing
-src
--test
---java    
----com
-----Test1.java
-----Test2.java
-----...
-----RestIT.java

Все Test1.java через TestN.java являются модульными тестами. RestIT.java - это название пустого интеграционного теста, которым я просто хочу быть обнаружен командой проверки таким же образом, как AppIT.java был обнаружен в старом фиктивном проекте.

Вот что я добавил в pom.xml для всего проекта (идентично тому, что было в pom.xml для фиктивного проекта Maven):

<profiles>
  <profile>
    <id>failsafe</id>
    <build>
      <plugins>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.22.0</version>
          <executions>
            <execution>
              <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
  </profile>
 </profiles>

Существующие модульные тесты обнаруживаются в выводе mvn verify -Pfailsafe, но тест RestIT.java - нет. Я также ранее видела ошибку «профиль сбоя не найден», и ее нет при запуске этой команды с вышеупомянутым фрагментом, добавленным к родительскому pom.xml.

Если вам интересно увидеть весь вывод команды maven или весь файл pom.xml, дайте мне знать, и я добавлю ссылки Dropbox.

1 Ответ

0 голосов
/ 08 января 2019

Попробуйте добавить это к модулю (ам) с интеграционными тестами:

<profiles>
  <profile>
    <id>failsafe</id> 
  </profile>
</profiles>

Обратите внимание, идентификатор тот же. Я подозреваю, что это позволит модулю подобрать содержимое профиля. Профили по умолчанию не наследуются.

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