我正在实施集成测试,并且在覆盖应用程序使用的自定义属性时遇到问题。
集成测试样本:
@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
。
有什么办法可以实现?