2016-09-15 2 views
0

Когда я бегу Gradle тест, она выдавала следующим образом:Gradle: Как запустить тест со статусом каждой строки?

:test 
> Building 80% > :test > 86 tests completed 

и переписать строку > Building 80% > :test > 86 tests completed, как это продвигается вперед.

То, что я хочу, чтобы предотвратить Gradle от замены этой линии и сделать его выходную линию по линии, например:

:test 
:test > 86 tests completed 
:test > 87 tests completed 
:test > 88 tests completed 

Есть ли способ сделать это?

ответ

0

Вы можете настроить test блок

apply plugin: 'java' 

repositories { 
    jcenter() 
} 

dependencies { 
    testCompile 'junit:junit:4.12' 
} 

test { 
    // show standard out and standard error of the test JVM(s) on the console, without this 
    // the text output printed by the tests won't show. 
    // ref: https://docs.gradle.org/current/dsl/org.gradle.api.tasks.testing.Test.html 
    testLogging.showStandardStreams = true 
    def testCount = 0 
    afterTest { descriptor, result -> 
     // descriptor is of type TestDescriptor, result is of type TestResult 
     // ref: https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/testing/TestDescriptor.html 
     // ref: https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/testing/TestResult.html 
     logger.lifecycle("Test {count: ${++testCount} name: $descriptor.name result: $result.resultType}") 
    } 
} 

Тогда вы увидите выход во время тестового задания. Конечно, вы могли бы использовать еще один уровень регистрации в зависимости от того, что вы хотите, но info, debug, error также доступны. lifecycle всегда будет отображаться, если не передана команда -q командной строки arg.

$ ./gradlew clean test 
Configuration on demand is an incubating feature. 
:clean 
:compileJava 
:processResources UP-TO-DATE 
:classes 
:compileTestJava 
:processTestResources UP-TO-DATE 
:testClasses 
:test 
Test {count: 1 name: testSomeLibraryMethod result: SUCCESS} 

BUILD SUCCESSFUL 

Total time: 1.229 secs 
Смежные вопросы