How to pass args to JVM which runs tests with Gradle

后端 未结 1 1445
野的像风
野的像风 2020-12-19 03:38

I am a Gradle rookie and I am not sure whether Gradle will start the new JVM when it runs the test set.

Like Passing JVM arguments to Gradle test task I want to pass

相关标签:
1条回答
  • 2020-12-19 04:10

    Try setting the jvmArgs of the enclosing test task rather than trying to set them on groovy.

    The error you are getting suggests that jvmArgs isn’t present on groovy.

    Example:

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

    This is just a guess as I don’t have a gradle setup handy on which to confirm but worth a try as jvmArgs is documented as a property for 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.

    Since jvmArgs is a list of String you can pass it multiple arguments, refer to:

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

    Example:

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

    For "-Dprop=value" system properties use the systemProperties of the test task instead:

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

    0 讨论(0)
提交回复
热议问题