można umieścić IT'ss w innym folderze tak:
.
|-- 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
jest potrzebne, aby następnie foldery znane kompilator itd
<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>
Poniżej jest potrzebne do następujących naprawdę działa IT:
<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>
Oznacza to, że integracja może odbywać się w tym samym module, który wadą polegającą na tym, że testy integracyjne wykorzystują te same zasoby, co testy jednostkowe. Lepszym rozwiązaniem byłoby stworzenie osobnego modułu maven, w którym można umieścić testy integracyjne w zwykłym folderze src/test/java
itd. I skonfigurować tylko wtyczkę maven-failsafe-plugin.
Nice! Żeby było jasne, zarówno test, jak i będzie on skanowany pod kątem testów jednostkowych i testów integracyjnych, więc zasadniczo zależy to od nazwy pliku, aby rozróżnić te dwie prawe? – ArtB
Prawidłowy pierwszy scenariusz. Ale tym lepiej jest mieć inny moduł, w którym możesz zmienić konwencję nazewnictwa. Nie polecałbym tego. – khmarbaise
Dlaczego wtyczka failsafe działa podczas ' weryfikuj ' zamiast ' test-integracji '? Wydaje się dziwne, że system failsafe działa po ' testach po integracji ''? –