我是一个关于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
的属性: