如何实现IntegrationTest以验证Spring Cloud Config与服务器和存储库的连接?

时间:2020-07-27 22:22:07

标签: spring integration-testing spring-cloud spring-cloud-config spring-cloud-config-server

这是我第一次使用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}

也尝试过:

  1. 设置application-integrationTest.yml
  2. 设置application.yml
  3. 设置bootstrap-integrationTest.yml
  4. 在存储库中创建一个*-integrationTest.yml
  5. 在IntegrationTest类上设置@ActiveProfiles("local")

什么都没有。

0 个答案:

没有答案