繁体   English   中英

Spring 引导测试不加载主应用程序配置文件

[英]Spring Boot test doesn't load main application config files

我有一个 spring 启动应用程序,我想测试一下。 对于测试,我需要加载整个 spring 上下文(就像我在启动构建的应用程序时所做的那样)。

我面临的问题是,当我从maven-failsafe-plugin运行测试时,配置文件( application.ymlbootstrap.yml )文件没有加载。 如果我从 Intellij 运行测试,一切正常。

这个问题类似于我尝试从依赖项中重用配置文件时发生的情况。 我知道配置文件的加载在最近几年发生了变化,我似乎无法忽视我遇到的问题。

有人知道在运行 maven 测试时如何使 spring 从主资源目录加载配置文件吗?

因此,我在问题中解释的 spring 的行为绝对不能改变,以允许我想做的事情。 出于可以理解的原因,我做了很多挖掘,结果证明它按预期工作

在这种特定情况下,这成为一个问题的方式是,默认情况下,主应用程序(我们在这里尝试测试的应用程序)由 maven 生命周期的前几个阶段创建的打包 JAR 加载。

我们需要的是通过target/classes目录加载应用程序,这是通过在failsafe插件配置的<configuration>元素中添加以下行来完成的: <classesDirectory>${project.build.outputDirectory}</classesDirectory>

这样, classpath:application.yml就可以毫无问题地从src/main/resources目录中解析出application.yml

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM