1

这是我第一次使用 Spring Cloud Config 框架实现 Spring 应用程序。该应用程序工作正常,通过服务器应用程序从存储库获取配置属性。因此,目前我必须编写集成测试来测试客户端应用程序与服务器和存储库之间的连接。要做到这一点,我的意思是从存储库中通过属性获取一个值并检查该值,还向服务器发出请求,或者如果存在,则使用 spring 云配置库中的其他方法来制作它。

现在的问题是,在执行 integrationTest 时,应用程序无法从远程读取属性。我在bootstrap.ymlintegrationTest 上下文中创建了一个但不起作用。所以,我得到了这样的错误: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}

也试过:

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

没有任何效果。

4

0 回答 0