Ответ 1
Вы можете поместить IT's в другую папку следующим образом:
.
|-- pom.xml
`-- src
|-- it
| `-- java
| `-- com
| `-- soebes
| `-- maui
| `-- it
| `-- BitMaskIT.java
|-- main
| `-- java
| `-- com
| `-- soebes
| `-- maui
| `-- it
| `-- BitMask.java
`-- test
`-- java
`-- com
`-- soebes
`-- maui
`-- it
`-- BitMaskTest.java
Для создания папок, известных компилятору и т.д., необходимо следующее.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>add-test-source</id>
<phase>process-resources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/it/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
Для реального запуска ИТ необходимо следующее:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.15</version>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
Это означает, что вы можете иметь интеграцию в одном и том же модуле, который имеет тот недостаток, что выполнение интеграционных тестов использует те же ресурсы, что и модульные тесты. Лучшим решением было бы создать отдельный модуль maven, в котором вы можете поместить тесты интеграции в обычную папку src/test/java
и т.д. И настроить только maven-отказоустойчивый плагин.