Возможное решение заключается в добавлении maven profile к соответствующему проекту и настройке maven-surefire-plugin
на exclude этих тестов из его выполнения цели тестирования.
Примером может быть:
<profiles>
<profile>
<id>trasis</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<excludes>
<!-- exclude tests here -->
<exclude>**/TestCircle.java</exclude>
<exclude>**/TestSquare.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Тогда ваш trasis сборка должна работать
mvn clean install -Ptrasis
Который будет:
- активировать профиль выше
- применять индивидуальные настройки для Плагин Surefire
- исключить настроенные тесты (шаблоны) от испытательной фазы
Этот профиль может быть затем проигнорированы локальной сборки, все еще активен на Trasis. После устранения проблемы его можно полностью удалить из конфигурации trasis и из самого файла pom.
В качестве альтернативы, и особенно, если вы не можете изменить заинтересованный файл POM, вы можете исключить тесты (и методы) с использованием test
опции и хорошо умыслом регулярного выражения:
С 2.19 сложным синтаксисом поддерживается в одном параметре (JUnit 4, JUnit 4.7+, TestNG):
"-Dtest=???Test, !Unstable*, pkg/**/Ci*leTest.java, *Test#test*One+testTwo?????, #fast*+slowTest
"
"-Dtest=Basic*, !%regex[.*.Unstable.*], !%regex[.*.MyTest.class#one.*|two.*], %regex[#fast.*|slow.*]
"
mvn clean install -Dtest=*Test,!FromThisClass#excludeThisMethod
Я бы спросил, почему эти тесты не работают на travis? Таким образом, вы делаете все в тестах, которые вам не следует делать, потому что вы говорите, что они работают локально, но на трависе они этого не делают .... Я бы глубоко изучил эти тесты, почему они не работают на travis. , – khmarbaise