Тесты интеграции Spring Boot переопределяют пользовательский файл .properties - PullRequest
0 голосов
/ 01 июля 2018

Я внедряю интеграционные тесты, и у меня проблема с переопределением пользовательских свойств, которые использует мое приложение.

Образец интеграционного теста:

@RunWith(SpringRunner.class)
@SpringBootTest(
    classes = Application.class,
    webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT
)
@TestPropertySource(locations = "classpath:test.properties")
public abstract class BaseIntegrationTest {

    @Autowired
  protected TestRestTemplate restClient;

@TestPropertySource(locations = "classpath:test.properties") заменит application.properties моего приложения на одно, которое предоставляется

Однако мое приложение использует файл пользовательских свойств, например:

@Configuration
@PropertySource("classpath:fileProvider/custom.properties")
@ConfigurationProperties(prefix = "com.sample.config")
public class SampleProviderConfigProperties {

В моем приложении много внешних провайдеров. Каждый из них, например, SampleProviderConfigProperties имеет свою собственную конфигурацию

В интеграционных тестах я хотел бы заменить провайдера custom.properties конфигурацией для тестовых систем.

Есть ли способ достичь этого?

...