2016-05-11 3 views
6

Während Tests ausgeführt werden, wird die Anzahl der bisher ausgeführten Tests kurzzeitig angezeigt. Wie kann ich jedoch die Gesamtzahl der Tests drucken, die nach Abschluss aller Tests an der Konsole ausgeführt wurden?Wie konfiguriere ich Gradle, um die Gesamtzahl der ausgeführten Tests auszugeben?

Konfiguration testLogging hilft nicht. Ich kann gradle Ausgang ein Ergebnis für jeden Test, wie diese machen:

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

Aber ich möchte eine Zusammenfassung „bottom line“, die die Gesamtzahl der Tests gibt, die ausgeführt wurden, auch wenn sie alle bestanden.

Antwort

5

Sie afterSuite closure mit TestResult Argumente verwenden . F.E. (Entlehnt aus 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

Mit Gradle 2.12 mit einem einfachen Projekt (mit 2 Testsuiten), dieses Skript:

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}" 
} 

gibt diesen Ausgang (für mich):

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

Es bekommt den Job getan, aber ich bin auf der Suche für eine Konfiguration/Setting-Ansatz - es sinnvoll scheint, dass es eine einfache Möglichkeit, es auszugeben sein sollte. – Bohemian