How to give System property to my test via Gradle and -D

前端 未结 5 429
没有蜡笔的小新
没有蜡笔的小新 2020-11-29 00:14

I have a a Java program which reads a System property

System.getProperty(\"cassandra.ip\");

and I have a Gradle build file that I start wit

5条回答
  •  攒了一身酷
    2020-11-29 00:54

    The -P flag is for gradle properties, and the -D flag is for JVM properties. Because the test may be forked in a new JVM, the -D argument passed to gradle will not be propagated to the test - it sounds like that is the behavior you are seeing.

    You can use the systemProperty in your test block as you have done but base it on the incoming gradle property by passing it with it -P:

    test {
        systemProperty "cassandra.ip", project.getProperty("cassandra.ip")
    }
    

    or alternatively, if you are passing it in via -D

    test {
        systemProperty "cassandra.ip", System.getProperty("cassandra.ip")
    }
    

提交回复
热议问题