Поведение, которое вы сообщаете, предполагает, что ваши тесты выполняются в фазе test
вместо фазы integration-test
. Это связано с тем, что по умолчанию оба подключаемых модуля Maven Surefire и Maven Failsafe используют соглашения об именах классов для различения двух типов тестов, как описано ниже:
Поведение модульного теста по умолчанию
Плагин Maven Surefire запускает юнит тестов в фазе test
. По умолчанию он выбирает тесты для выполнения на основе имени класса теста, как описано в Maven Surefire Plugin |Включения и исключения тестов :
- "** / Test * .java" - включает все его подкаталоги и все имена файлов Java, начинающиеся с "Test".
- "** / * Test.java" - включает в себя все его подкаталоги и все имена файлов Java, которые заканчиваются на "Test".
- "** / * Tests.java" - включает в себя все его подкаталоги и все Javaимена файлов, оканчивающиеся на «Tests».
- «** / * TestCase.java» - включает все его подкаталоги и все имена файлов Java, оканчивающиеся на «TestCase».
По умолчаниюПоведение интеграционных тестов
Плагин Maven Failsafe выполняет интеграционные тесты тесты в фазе integration-test
. По умолчанию он также выбирает тесты для выполнения на основе имени класса теста, как описано в [Maven Failsafe Plugin |Включения и исключения из тестов] (https://maven.apache.org/surefire/maven-failsafe-plugin/examples/inclusion-exclusion.html:
- "** / IT * .java" - включает все его подкаталоги и все имена файлов Java, которые начинаются с "IT".
- "** / * IT.java" - включает все его подкаталоги и все имена файлов Java, оканчивающиеся на "IT".
- "** / * ITCase.java" - включает все его подкаталоги и всеИмена файлов Java, оканчивающиеся на «ITCase».
Поэтому вам, вероятно, просто нужно переименовать классы интеграционных тестов в соответствии с одним из трех соглашений, указанных выше.