2016-05-11 10 views
6

परीक्षण चल रहे हैं, परीक्षणों की संख्या अब तक को प्रदर्शित किया गया है, लेकिन सभी परीक्षणों के बाद कंसोल पर चलने वाले परीक्षणों की कुल संख्या को मैं कैसे मुद्रित कर सकता हूं?निष्पादित परीक्षणों की कुल संख्या आउटपुट करने के लिए ग्रेडल को कॉन्फ़िगर कैसे करें?

testLogging को कॉन्फ़िगर करने में मदद नहीं करता है। मैं Gradle उत्पादन के लिए एक परिणाम के हर परीक्षण, इस तरह बना सकते हैं:

testLogging { 
    events "passed", "skipped", "failed" 
} 

लेकिन मुझे लगता है कि परीक्षण की कुल संख्या का संचालन किया गया आउटपुट एक सारांश "लब्बोलुआब यह है", चाहते हैं, भले ही वे सब पारित कर दिया

उत्तर

5

आप TestResult तर्क के साथ afterSuite closure उपयोग कर सकते हैं । एफ.ई. (https://gist.github.com/orip/4951642 से उधार):

test { 
    testLogging { 
    afterSuite { desc, result -> 
     if (!desc.parent) { // will match the outermost suite 
     println "Results: ${result.resultType} (${result.testCount} tests, ${result.successfulTestCount} successes, ${result.failedTestCount} failures, ${result.skippedTestCount} skipped)" 
     } 
    } 
    } 
} 
1

Gradle 2.12 का उपयोग करते हुए एक सरल परियोजना के साथ (2 परीक्षण स्वीट के साथ), इस स्क्रिप्ट:

apply plugin: 'java' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    testCompile 'junit:junit:4.12' 
} 

def numTests = 0 

test { 
    beforeTest { descriptor -> 
     logger.lifecycle("Running test: " + descriptor) 
     numTests++ 
    } 
} 

test << { 
    println "\nnumTests executed: ${numTests}" 
} 

इस निर्गम (मेरे लिए) देता है:

bash$ gradle clean test 
:clean 
[snip] 
:test 
Running test: Test test1(net.codetojoy.ActorTest) 
Running test: Test test2(net.codetojoy.ActorTest) 
Running test: Test test3(net.codetojoy.ActorTest) 
Running test: Test test4(net.codetojoy.ActorTest) 
Running test: Test test1(net.codetojoy.SniffTest) 
Running test: Test test2(net.codetojoy.SniffTest) 
Running test: Test test3(net.codetojoy.SniffTest) 
Running test: Test test4(net.codetojoy.SniffTest) 
Running test: Test test5(net.codetojoy.SniffTest) 
Running test: Test test6(net.codetojoy.SniffTest) 

numTests executed: 10 
+0

यह काम किया हो जाता है, लेकिन मैं एक विन्यास/स्थापित करने दृष्टिकोण के लिए देख रहा हूँ - यह उचित लगता है कि वहाँ यह outputting का एक आसान तरीका होना चाहिए। – Bohemian

संबंधित मुद्दे