Created
May 12, 2021 08:01
-
-
Save dearshrewdwit/2be0b7ed528758cf32cdcbfb5a369f4d to your computer and use it in GitHub Desktop.
Add test output summary for gradle projects using `.gradlew test`
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// add to the top of build.gradle | |
import org.gradle.api.tasks.testing.logging.TestExceptionFormat | |
import org.gradle.api.tasks.testing.logging.TestLogEvent | |
// add to the bottom of build.gradle | |
tasks.withType(Test) { | |
testLogging { | |
// set options for log level LIFECYCLE | |
events TestLogEvent.FAILED, | |
TestLogEvent.PASSED, | |
TestLogEvent.SKIPPED, | |
TestLogEvent.STANDARD_OUT | |
exceptionFormat TestExceptionFormat.FULL | |
showExceptions true | |
showCauses true | |
showStackTraces true | |
// set options for log level DEBUG and INFO | |
debug { | |
events TestLogEvent.STARTED, | |
TestLogEvent.FAILED, | |
TestLogEvent.PASSED, | |
TestLogEvent.SKIPPED, | |
TestLogEvent.STANDARD_ERROR, | |
TestLogEvent.STANDARD_OUT | |
exceptionFormat TestExceptionFormat.FULL | |
} | |
info.events = debug.events | |
info.exceptionFormat = debug.exceptionFormat | |
afterSuite { desc, result -> | |
if (!desc.parent) { // will match the outermost suite | |
def output = "Results: ${result.resultType} (${result.testCount} tests, ${result.successfulTestCount} passed, ${result.failedTestCount} failed, ${result.skippedTestCount} skipped)" | |
def startItem = '| ', endItem = ' |' | |
def repeatLength = startItem.length() + output.length() + endItem.length() | |
println('\n' + ('-' * repeatLength) + '\n' + startItem + output + endItem + '\n' + ('-' * repeatLength)) | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment