【问题标题】:How to configure JVM args for the new Gradle TestSuit?如何为新的 Gradle TestSuit 配置 JVM 参数?
【发布时间】:2022-07-08 08:02:39
【问题描述】:

我正在尝试 Gradle 的新 TestSuit。我的项目中有这个:

testing {
    suites {
        val integrationTest by registering(JvmTestSuite::class) { 
            useJUnitJupiter()
            jvmArgs("--add-opens", "java.base/java.lang=ALL-UNNAMED")
            jvmArgs("--add-opens", "java.base/java.lang.invoke=ALL-UNNAMED")
        }
}

但是当我运行 ./gradlew integrationTest 时,我得到:

/buildSrc/src/main/kotlin/quarkus-testing.quarkus-conventions.gradle.kts: (35, 13): Unresolved reference: jvmArgs

现在如何配置jvmArgs?

【问题讨论】:

    标签: gradle gradle-kotlin-dsl


    【解决方案1】:

    我最近通过处理层次结构解决了这个问题,从 JvmTestSuite 对象到 Test 对象,它是包含 jvmArgs 引用的对象。

    testing {
        suites {
            val integrationTest by registering(JvmTestSuite::class) {
                useJUnitJupiter()
    
                // here:  really calling JvmTestSuite#getTargets() then,
                //        DomainObjectCollection#all(Action)
                targets.all {
                    // here:  really calling JvmTestSuiteTarget#getTestTask() then,
                    //        TaskProvider#configure(Action)
                    testTask.configure {
                        // now we're operating on a Test instance
                        jvmArgs("--add-opens", "java.base/java.lang=ALL-UNNAMED")
                        jvmArgs("--add-opens", "java.base/java.lang.invoke=ALL-UNNAMED")
                    }
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-21
      • 2013-10-31
      • 2013-01-16
      相关资源
      最近更新 更多