微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 如何将args传递给使用gradle运行测试的jvm

我是一个关于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,而不是尝试在groovy上设置它们.你得到的错误表明groovy上没有jvmArgs:

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐