这是我第一次使用 Spring Cloud Config 框架实现 Spring 应用程序。该应用程序工作正常,通过服务器应用程序从存储库获取配置属性。因此,目前我必须编写集成测试来测试客户端应用程序与服务器和存储库之间的连接。要做到这一点,我的意思是从存储库中通过属性获取一个值并检查该值,还向服务器发出请求,或者如果存在,则使用 spring 云配置库中的其他方法来制作它。
现在的问题是,在执行 integrationTest 时,应用程序无法从远程读取属性。我在bootstrap.yml
integrationTest 上下文中创建了一个但不起作用。所以,我得到了这样的错误:Could not resolve placeholder
.
我的集成测试
@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);
}
}
引导程序.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")
在 integrationTest 类上设置。
没有任何效果。