В моем проекте есть много тестов, помеченных @SpringBootTest, которые я не рассматриваю как юнит-тесты, а скорее как интеграционные тесты. Поэтому я хотел бы запускать только модульные тесты, когда я выполняю:
mvn clean install
на самом деле я хочу выполнить эту команду как часть хука pre-commit git, но @SpringBootTest делает это дольше до фини sh исполнения.
Есть ли способ исключить тесты, помеченные @SpringBootTest? Может быть, есть шаблон, который мы можем передать maven, который исключает / определенные тесты. Или, может быть, напишите набор тестов, который включает в себя весенние загрузочные тесты.
Я выполнил поиск в Google, чтобы достичь вышеизложенного, но мне не очень повезло.
Есть ли даже лучший способ?
@ Обновление: ограничение: файл maven pom не может быть изменен.
@ Update2: у меня есть решение, которое выглядит многообещающе:
1. Use @Category("IntegrationTests") for @SpringBootTests tests.
2. Create TestSuite with excludeCategory:
@RunWith(CategoryRunner.class)
@ExcludeCategory("IntegrationTests")
public class TestSuite {
}
3. From mvn command line, run only TestSuite.
Я не уверен это лучшее. Цените чей-либо лучший подход.