【问题标题】:Spring Boot + Gradle: take VM options when I run single testsSpring Boot + Gradle:运行单个测试时采用 VM 选项
【发布时间】:2019-11-08 07:13:37
【问题描述】:

当我从 IntelliJ 运行像 test 这样的 Gradle 任务时,我在“编辑配置”对话框中为所有测试设置 VM 选项和/或环境变量,它们就可以工作了。在how to set spring.config.location for a gradle spring boot project in Intellij IDEA community version?查看我的问题

现在,如果我想运行一个测试,我必须:

  • 运行测试,当然失败了
  • 编辑配置以添加 VM 选项和/或环境变量
  • 再次运行

有什么方法可以在build.gradle 中配置 VM 选项和/或环境变量,以便每个测试都自动获取它们?

PS:参数是-Dspring.profiles.active=...-Dspring.config.additional-location

【问题讨论】:

    标签: java spring-boot gradle intellij-idea


    【解决方案1】:

    尝试在 gradle.properties 文件中设置系统属性,如下所示:

    systemProp.spring.profiles.active=profileName
    spring.config.additional-location=additionalLocation
    

    See also: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_system_properties

    【讨论】:

      【解决方案2】:

      感谢@tarts,但我想我发现一件事可能更好:在 IDEA 中设置运行配置模板。问题可以改写为:“我可以以某种方式(不限于build.gradle)设置这些变量吗?”

      在左侧的“运行配置”中,有一个名为“模板”的类别,列出了我们可以运行的所有可能的测试类别并为每个类别提供模板,我们在其中为单个测试设置通用值。

      可以看到列出了“Gradle”和“JUnit”等许多类别,所以我们可以在这里更改VM选项,然后所有单元测试都使用这个参数集运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-20
        • 2020-07-09
        • 1970-01-01
        • 2016-02-22
        • 2015-10-03
        相关资源
        最近更新 更多