[Gradle] gradle build 또는 test 후에 테스트 결과 표시하기
gradle build 또는 test 후에 테스트 결과를 표시해보자
환경
- Gradle
- 테스트 환경은 구축되어 있다고 가정
방법
build.gradle의 test 부분에 아래처럼 testLogging 부분을 추가
test {
useJUnitPlatform()
testLogging {
afterSuite { testDescriptor, testResult ->
if (testDescriptor.parent == null) {
println "Results: ${testResult.resultType} (${testResult.testCount} tests, ${testResult.successfulTestCount} successes, ${testResult.failedTestCount} failures, ${testResult.skippedTestCount} skipped)"
}
}
}
}
afterSuite
: Test Suite가 실행되고나서 실행되는 부분testDescriptor
: 테스트에 대한 정보를 가지고 있는 인터페이스testResult
: 테스트 결과에 대한 정보를 가지고 있는 인터페이스testDescriptor.parent == null
: TestDescriptor의 부모가 null일때 실행하며 이는 테스트가 다 끝났음을 의미
결과 예시
Taewoo-Macbook-Air-M1-2020:SpringBatchTestExample taewoo$ ./gradlew build
...
> Task :test
...
Results: SUCCESS (6 tests, 6 successes, 0 failures, 0 skipped)
...
BUILD SUCCESSFUL in 10s
6 actionable tasks: 3 executed, 3 up-to-date
참고자료
- https://stackoverflow.com/questions/37173218/how-to-configure-gradle-to-output-total-number-of-tests-executed
- https://docs.gradle.org/current/dsl/org.gradle.api.tasks.testing.Test.html#org.gradle.api.tasks.testing.Test:afterSuite(groovy.lang.Closure)
- https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/testing/TestDescriptor.html
- https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/testing/TestResult.html