【问题标题】:Generated test can't read property from application.yml生成的测试无法从 application.yml 中读取属性
【发布时间】:2023-01-30 21:56:48
【问题描述】:

只是尝试使用 Spring Cloud Contract。在提供者端运行生成的测试并且实例化应用程序上下文时,它无法从 application.yml 读取配置值。当我将测试从生成的构建文件夹移动到 src/test/java 时,问题就不再出现了。 这意味着由于构建文件夹在项目 src/.. 结构之外,它无法读取配置。 我该如何解决?

【问题讨论】:

    标签: spring-cloud-contract


    【解决方案1】:

    您如何从 application.yml 访问值 假设在 application.yml 中你有以下内容:

    example:
      baseUri: https://jsonplaceholder.typicode.com
    

    您可以使用以下方法在测试中简单地访问它:

    @Value("${example.baseUri}")
    String exampleBaseUri;
    

    此外,如果您想要一个仅用于测试的配置文件,您可以创建一个文件 application-test.yml 并在其中添加属性。要从此文件访问它的值,您需要在测试类之前添加:

    @ActiveProfiles("test")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 2021-05-28
      • 2020-03-07
      • 2019-08-09
      • 1970-01-01
      • 2020-03-26
      相关资源
      最近更新 更多