Я внедряю интеграционные тесты, и у меня проблема с переопределением пользовательских свойств, которые использует мое приложение.
Образец интеграционного теста:
@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
конфигурацией для тестовых систем.
Есть ли способ достичь этого?