这是我第一次使用Spring Cloud Config框架实现Spring应用程序。该应用程序运行正常,可以通过服务器应用程序从存储库获取配置属性。因此,目前,我必须编写集成测试以测试客户端应用程序与服务器和存储库之间的连接。为此,我的意思是从存储库中通过属性获取一个值并检查该值,还向服务器发出请求,或者如果存在,则在Spring Cloud Config库中使用其他方法进行创建。
现在的问题是,在执行IntegrationTest时,应用程序无法从远程读取属性。我已经在IntegrationTest上下文中创建了bootstrap.yml
,但是没有用。因此,我收到了类似Could not resolve placeholder
的错误。
MyIntegrationTest
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest()
@ActiveProfiles("integrationTest")
public class MyIntegrationTest {
@Value("${throttling.request.rate.minute}")
private int MAX_REQUEST_PER_MINUTE;
@Test
public void validateGetRequestRateLimitFromRepository() {
Assert.assertNotEquals(MAX_REQUEST_PER_MINUTE,1L);
}
}
bootstrap.yml
spring:
application:
name: sample-name
---
spring:
profiles: local #also tried integrationTest
cloud:
config:
enabled: true
uri: https://endpoint-uri:443
skipSslValidation: true
name: ${spring.application.name},${spring.application.name}-${spring.profiles}
也尝试过:
application-integrationTest.yml
application.yml
bootstrap-integrationTest.yml
*-integrationTest.yml
。@ActiveProfiles("local")
。什么都没有。