当前位置: 首页 > 知识库问答 >
问题:

我如何为运行测试(不使用环境变量)设置默认的Spring Boot配置文件?

谢昊乾
2023-03-14

我有一个Spring Boot项目,使用gradle,有三个Spring Profile:

    null
  • application.yml(包含所有共享默认值)
  • 应用程序-development.yml
  • application-test.yml
  • 应用程序-production.yml

这些环境都运行良好。问题是,当我将代码部署到heroku时,heroku运行“gradle build”(它又运行“gradle test”),而heroku没有设置环境变量的选项。因此我无法设置活动配置文件。因此,当它运行测试时,它使用application.yml,而不使用application-test.yml中的重写。因此,测试显然失败了。

到目前为止,我唯一的解决方案是将所有application-test.yml默认值放入application.yml,然后在其他概要文件中再次覆盖它们,但这显然远不理想。

  • 从gradle中设置活动Spring配置文件(注意,我没有“测试”或“构建”任务的编辑权限,因为它们来自“Spring boot gradle插件”)?
  • 或者在运行测试时,Spring Boot中是否有方法设置默认的活动Spring配置文件?

共有1个答案

夹谷阳夏
2023-03-14

如果您使用的是@WebIntegrationTest@IntegrationTest,您可以将配置文件设置为带有注释的属性值。

看起来是这样的:

@RunWith(SpringJUnit4ClassRunner.class)
@WebIntegrationTest({"spring.profiles.active=test"})
public class MyWebIntegrationTests {
    // ...
} 
 类似资料:
  • 在为基本GET服务运行Java集成测试时,我们的应用程序代码无法检索环境变量。然而,当我们运行应用程序本身时,它可以毫无问题地检索变量。 我们正在开发一个Mac(el captiain)与intellij作为我们的IDE。我们已经导出了bash_profile中的变量(例如导出ORACLE_URL="*************").我们可以在设置和刷新后对变量进行回声。 我们完全搞不懂为什么它们在

  • 本文向大家介绍SpringBoot+docker环境变量配置详解,包括了SpringBoot+docker环境变量配置详解的使用技巧和注意事项,需要的朋友参考一下 项目中遇到springBoot+docker需要配置不同环境变量的问题,做个简单的总结: 1.开发环境ide中启动项目 可以通过ide的环境变量参数配置,启动之后使用哪个配置,比如 这样就使用application-test.yml中的

  • 本文向大家介绍Tomcat环境变量如何配置,包括了Tomcat环境变量如何配置的使用技巧和注意事项,需要的朋友参考一下 本文以文字的形式为大家叙述Tomcat环境变量的配置过程,以及验证配置是否成功的方法,具体内容如下 JDK环境变量配置:  如果你的JDK安装在C盘里,如:C:\Program Files\Java\jdk1.6.0_05,那么就在系统变量里(当然也可以在用户变量里)点新建:  

  • 问题内容: 我开始研究一个项目,它使用了Github私有存储库中的一些私有模块,每当我尝试运行它时,都会出现以下错误: 验证github.com/repoURL/go- proto@v2.86.0+incompatible/go.mod:github.com/repoURL/go- proto@v2.86.0+incompatible/go.mod:阅读https://sum.golang。 or

  • 问题内容: 我的视图中有三个按钮。在viewDidLoad()中设置cornerRadus之后:我在日志中收到以下错误消息: 问题: 如何设置CG_CONTEXT_SHOW_BACKTRACE环境变量? 或者如何解决此警告? 好吧,现在我已经从消息中得到了回溯。这对我来说没有任何意义。请帮忙… 问题答案: 这是9b5中的错误:https://forums.developer.apple.com/t

  • 出于某种原因,我不得不使用环境变量,而不是将系统属性传递给mvn命令。所以,我使用${env。PROFILE}作为属性名,pom.xml中的配置文件设置显示如下: 然后,我尝试激活配置文件到在线,但我失败了,命令行显示如下: 然后打开maven调试模式(-X),属性如下所示: 我们可以在上述属性列表中找到属性: “PROFILE”变量似乎是在envrionment中设置的。但是,“在线”配置文件未