Spring-boot, основанный на сервисном проекте. Модульные тесты работают нормально при запуске как mvn spring-boot:run -Dspring.profiles.active=dev
. Когда я запускаю интеграционные тесты, используя mvn verify -Dspring.profiles.active=dev
, файлы конфигурации не загружаются.
Подробности:
Использование flyway для доступа к postgres. Свойства конфигурации загружаются через класс @Configuration
со следующими аннотациями:
@FlywayDataSource
@Primary
@Bean(name = "flywaydataSource")
@ConfigurationProperties(prefix = "spring.data.postgres")
Настройки хранятся в 'application-dev.yml'.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.0</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
Когда я запускаю модульный тест, я вижу> 10 записей в списке источников свойств. Для интеграционного теста я получаю только 2: systemProperties и systemEnvironment.
Эта проблема существует, независимо от того, запускаю ли я в IntelliJ или через строку cmd.
Просмотр папки 'target' через IntelliJ показывает что соответствующие файлы конфигурации были скопированы.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>add-test-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/integration-test/java</source>
</sources>
</configuration>
</execution>
<execution>
<id>add-resource</id>
<phase>generate-test-resources</phase>
<goals>
<goal>add-test-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/integration-test/resources</directory>
<targetPath>resources</targetPath>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Где-то я пропускаю настройку или два - кажется, не вижу, где.