maven failsafe / spring - файлы свойств не загружаются - PullRequest
0 голосов
/ 18 марта 2020

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>

Где-то я пропускаю настройку или два - кажется, не вижу, где.

...