Для включения и выключения модульных тестов для всего проекта используйте Возможность плагина Maven Surefire Plugin пропускать тесты .Недостатком является использование skipTests из командной строки.В многомодульном сценарии это приведет к отключению всех тестов во всех модулях.
Если вам нужен более точный контроль за выполнением подмножества тестов для модуля, изучите использование плагина Maven Surefire.проверить возможности включения и исключения .
Чтобы разрешить переопределения командной строки, используйте свойства POM при настройке подключаемого модуля Surefire.Возьмем, например, следующий сегмент POM:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version>
<configuration>
<excludes>
<exclude>${someModule.test.excludes}</exclude>
</excludes>
<includes>
<include>${someModule.test.includes}</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<someModule.skip.tests>false</someModule.skip.tests>
<skipTests>${someModule.skip.tests}</skipTests>
<someModule.test.includes>**/*Test.java</someModule.test.includes>
<someModule.test.excludes>**/*Test.java.bogus</someModule.test.excludes>
</properties>
С помощью POM, подобного описанному выше, вы можете выполнять тесты различными способами.
- Запускать все тесты (приведенная выше конфигурация включает в себявсе ** / * Test.java исходные файлы теста)
mvn test
Пропустить все тесты по всем модулям
mvn -DskipTests=true test
Пропустить все тесты для определенного модуля
mvn -DsomeModule.skip.tests=true test
Запускать только определенные тесты для определенного модуля (этот пример включает все исходные файлы теста ** / * IncludeTest.java)
mvn -DsomeModule.test.includes="**/*IncludeTest.java" test
Исключить определенные тесты для определенного модуля (этот пример исключает все исходные файлы ** / * ExcludeTest.java)
mvn -DsomeModule.test.excludes="**/*ExcludeTest.java" test