docker 中的 Micronaut 测试覆盖 MICRONAUT_ENVIRONMENTS

Micronaut test in docker overriding the MICRONAUT_ENVIRONMENTS

我们 运行 我们的 micronaut 集成测试在 docker 容器中的云端

我们在 docker 环境变量中设置 MICRONAUT_ENVIRONMENTS=staging,以强制我们的应用程序从 application-staging.yaml.

读取配置值

但是,micronaut 会自动添加“test”作为环境,然后从 application-test.yaml.

读取配置值

根据文档 (https://docs.micronaut.io/2.2.1/guide/index.html#propertySource),加载配置时环境变量应优先于推导的环境

micronaut 在这里优先考虑 application-test.yaml 值有什么原因吗?

当 micronaut 测试 运行 时添加 test 环境,即使在设置环境变量 MICRONAUT_ENVIRONMENTS

时也是如此

经过一番挖掘,似乎在 DefaultEnvironment class 初始化之前添加了“测试”环境,因此即使 micronaut.env.deduction 设置为 false