@@ -13,14 +13,53 @@ dbs.each { db ->
13
13
}
14
14
}
15
15
16
- // replace default task 'test' with custom TestDbTask to always configure with cache safe task
17
- tasks. replace( " test" , TestDbTask ). configure {
18
- dbName = project. findProperty( " db" ) ?: " PostgreSQL"
19
- dockerEnabled = project. hasProperty( " docker" )
20
- if ( project. hasProperty( " includeTests" ) ) {
21
- includeTests = project. property( " includeTests" )
16
+ // configure default task 'test' with same config of TestDbTask, with cache safe
17
+ tasks. named( " test" , Test ). configure { t ->
18
+ def dbName = providers. gradleProperty( " db" ). orElse( " PostgreSQL" )
19
+ def dockerEnabled = providers. gradleProperty( " docker" ). isPresent()
20
+ def includeTests = providers. gradleProperty( " includeTests" ). orNull
21
+ def showStandardStreams = providers. gradleProperty( " showStandardOutput" ). isPresent()
22
+
23
+ t. systemProperty( " db" , dbName. get() )
24
+ t. systemProperty( " docker" , dockerEnabled ? " true" : " false" )
25
+ t. systemProperty( " org.hibernate.reactive.common.InternalStateAssertions.ENFORCE" , " true" )
26
+
27
+ if ( includeTests ) {
28
+ t. filter { f -> f. includeTestsMatching( includeTests ) }
29
+ }
30
+
31
+ t. defaultCharacterEncoding = " UTF-8"
32
+ t. useJUnitPlatform()
33
+ t. testLogging {
34
+ it. showStandardStreams = showStandardStreams
35
+ it. showStackTraces = true
36
+ it. exceptionFormat = ' full'
37
+ it. displayGranularity = 1
38
+ it. events = [' PASSED' , ' FAILED' , ' SKIPPED' ]
22
39
}
23
- description = " Default test task using TestDbTask"
40
+
41
+ t. addTestListener( new TestListener () {
42
+ void beforeSuite (TestDescriptor suite ) {
43
+ /* Do nothing */
44
+ }
45
+
46
+ void beforeTest (TestDescriptor testDescriptor ) {
47
+ /* Do nothing */
48
+ }
49
+
50
+ void afterTest (TestDescriptor testDescriptor , TestResult result ) {
51
+ /* Do nothing */
52
+ }
53
+
54
+ // Add afterSuite hook
55
+ void afterSuite (TestDescriptor desc , TestResult result ) {
56
+ if ( ! desc. parent ) {
57
+ def output = " ${ dbName.get()} results: ${ result.resultType} (${ result.testCount} tests, ${ result.successfulTestCount} passed, ${ result.failedTestCount} failed, ${ result.skippedTestCount} skipped)"
58
+ def line = ' -' * (output. length() + 1 )
59
+ logger. lifecycle( " \n ${ line} \n ${ output} \n ${ line} " )
60
+ }
61
+ }
62
+ } )
24
63
}
25
64
26
65
// configure all testDbTask with docker and filter test
0 commit comments