【问题标题】:Gradle Command-Line Arguments for tests in Spring Boot用于 Spring Boot 中测试的 Gradle 命令行参数
【发布时间】:2026-01-13 13:45:02
【问题描述】:

我想将参数传递给 Gradle 测试(覆盖 application.properties 中的某些属性)。

有一种方法可以在执行 bootRun 时传递参数。检查例如https://www.baeldung.com/spring-boot-command-line-arguments:

./gradlew bootRun -Pargs=--some.property=changedvalue

但我想在测试中这样做,例如:

./gradlew test -Pargs=--some.property=changedvalue

【问题讨论】:

    标签: spring-boot build.gradle


    【解决方案1】:

    为我工作。我将命令行参数传播到系统属性。

    test {
        if (project.hasProperty('args')) {
            project.args.split(',').each {
                def (key, value) = it.replaceFirst('--', "").split('=')
                systemProperty ((String)key, (String)value)
            }
        }
        useJUnitPlatform()
    }
    

    下面的命令行可以正常工作。

    ./gradlew test -Pargs=--some.property=changedvalue
    

    【讨论】:

      最近更新 更多