【发布时间】:2023-01-30 21:56:48
【问题描述】:
只是尝试使用 Spring Cloud Contract。在提供者端运行生成的测试并且实例化应用程序上下文时,它无法从 application.yml 读取配置值。当我将测试从生成的构建文件夹移动到 src/test/java 时,问题就不再出现了。 这意味着由于构建文件夹在项目 src/.. 结构之外,它无法读取配置。 我该如何解决?
【问题讨论】:
只是尝试使用 Spring Cloud Contract。在提供者端运行生成的测试并且实例化应用程序上下文时,它无法从 application.yml 读取配置值。当我将测试从生成的构建文件夹移动到 src/test/java 时,问题就不再出现了。 这意味着由于构建文件夹在项目 src/.. 结构之外,它无法读取配置。 我该如何解决?
【问题讨论】:
您如何从 application.yml 访问值 假设在 application.yml 中你有以下内容:
example:
baseUri: https://jsonplaceholder.typicode.com
您可以使用以下方法在测试中简单地访问它:
@Value("${example.baseUri}")
String exampleBaseUri;
此外,如果您想要一个仅用于测试的配置文件,您可以创建一个文件 application-test.yml 并在其中添加属性。要从此文件访问它的值,您需要在测试类之前添加:
@ActiveProfiles("test")
【讨论】: