我正在尝试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集成测试,我得到:
/buildSrc/src/main/kotlin/quarkus-testing.quarkus-conventions.gradle.kts: (35, 13): Unresolved reference: jvmArgs
现在如何配置jvm Args?
我最近通过向下处理层次结构解决了这个问题,从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")
}
}
}
}
}