gpt4 book ai didi

java - 如何将参数传递给使用 Gradle 运行测试的 JVM

转载 作者:搜寻专家 更新时间:2023-10-31 19:59:37 28 4
gpt4 key购买 nike

本人是Gradle小白,不确定Gradle在运行测试集时是否会启动新的JVM。

Passing JVM arguments to Gradle test task我想将一些参数传递给运行测试集的 JVM。

我将以下行添加到 build.gradle :

...
test {
groovy {
jvmArgs '-agentpath:/usr/lib/code_dependency_capturer.so' // add line
srcDirs = ['src/test']
if (!JavaVersion.current().isJava8Compatible()) {
exclude '**/v8/*'
exclude '**/vm8/*'
}
}
resources {
srcDirs = ['src/test-resources']
}
}
...

但它告诉我:

A problem occurred evaluating root project 'groovy'.
Could not find method jvmArgs() for arguments[-agentpath:/usr/lib/code_dependency_capturer.so] on source set 'test' of type org.gradle.api.internal.tasks.DefaultSourceSet.

我用谷歌搜索了这个错误,但没能解决。

最佳答案

尝试设置 jvmArgs封闭的 test任务而不是尝试将它们设置在 groovy 上.

您收到的错误表明 jvmArgs不在 groovy 上.

例子:

...
test {
jvmArgs '-agentpath:/usr/lib/code_dependency_capturer.so' // add line
groovy {
srcDirs = ['src/test']
...
}
...
}

这只是一个猜测,因为我手边没有可以确认的 gradle 设置,但值得一试 jvmArgs被记录为 test 的属性:

https://docs.gradle.org/current/dsl/org.gradle.api.tasks.testing.Test.html#org.gradle.api.tasks.testing.Test:jvmArgs

List<String> jvmArgs

The extra arguments to use to launch the JVM for the process. Does not include system properties and the minimum/maximum heap size.

jvmArgs是一个字符串列表,你可以给它传递多个参数,引用:

http://docs.groovy-lang.org/next/html/documentation/working-with-collections.html#_list_literals

例子:

  jvmArgs ["-Xarg1", "-Xarg2"]

对于“-Dprop=value”系统属性,使用 systemPropertiestest任务改为:

https://docs.gradle.org/current/dsl/org.gradle.api.tasks.testing.Test.html#org.gradle.api.tasks.testing.Test:systemProperties

关于java - 如何将参数传递给使用 Gradle 运行测试的 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50435218/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com