4

これは最も簡単な質問ですが、Gradle テスト タスクからシステム変数にアクセスする際に問題が発生しています。この構文は正しいと確信していますが、うまくいきません以下のコード スニペットの問題を特定するのを誰かが手伝ってくれることを願っていますか?

// my gradle build says the following line is a deprecated method    
//systemProperties = System.getProperties()

// this line always returns 1 on a multiprocessor system
println 'NUMBER_OF_PROCESSORS is ' +
     System.getProperty( "NUMBER_OF_PROCESSORS", "1" )

// this line also always returns the default for TMP var
println 'TMP is ' + System.getProperty( "TMP", "C:\\Temp" )

注:ここでも質問しましたが、クローズド スレッドであるため、そこで回答が得られるかどうかはわかりません。また、ドキュメントを徹底的に読みましたが、役に立ちませんでした。

私はこれらを試しましたが、それらも失敗します:

test {
    println ""
    ENV = System.getProperties()
    println "TMP is " + ENV['TMP']
    println ""
}

task testa(Type:Test) { 
    println ""
    println "HOMEPATH = " + System.getProperty( "HOMEPATH", "defaultpath" )
    println "TMP = " + System.getProperty( "TMP", "defaulttmp" )
    println ""
}

task testb(Type:Test) {
    println ""
    println "HOMEPATH = " + System.properties['HOMEPATH']
    println "TMP = " + System.properties['TMP']
    println ""
}

task testc(Type:Test) {
    // pass a arg to this test like -PMYARG=anything
    println ""
    println "Parg = " + System.properties['MYARG']
    println ""
}

testWorks {
    println ""
    ENV['ok'] = "good to go"
    println "this test is " + ENV['ok']
    println ""
}
4

1 に答える 1

9

Gradle JVM のシステム プロパティをテストで使用できるようにするには、次のようにします。

test {
    systemProperties = System.properties
}

Testまたは、追加のタスクを宣言した場合:

tasks.withType(Test) {
    systemProperties = System.properties
}
于 2013-04-20T00:25:10.413 に答える