@SpringBootTest не загружает свойства из @ConfigurationProperties
Когда я бегу mvn clean install
или же mvn spring-boot:run
мой интеграционный тест или запуск приложения не загружает свойства из свойств приложения, но когда я запускаю тест из intelliJ Idea или запускаю сервер через intellij, он работает нормально. Мои коды, как показано ниже:
@Data - это lombok.Data, которая генерирует геттер и сеттер во время компиляции.
package com.a.configuration;
@Data
@ConfigurationProperties(prefix = "my.service")
@Configuration
public class PropertyConfig {
private Integer pageSize;
private Integer maxPageCount;
}
package com.a.service;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT, classes = Application.class)
public class DataLoadIT {
}
Я тоже пробовал @EnableConfigurationProperties
без удачи
package com.a.configuration;
@Configuration
@EnableConfigurationProperties(PropertyConfig.class)
public class MyConfiguration {
}
package com.a;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Моя структура проекта: src / main /java src/test/java src/ интеграционный тест /java
И используя плагин ниже, чтобы отделить модульный тест и интеграционный тест:
<plugin>
<!-- run the integration tests -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.18.1</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.9.1</version>
<executions>
<execution>
<id>add-integration-test-source-as-test-sources</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/integration-test/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>