dependencies { testImplementation libs.junit.jupiter.api testImplementation libs.junit.jupiter.params testImplementation libs.hamcrest testRuntimeOnly libs.junit.jupiter.engine } test { useJUnitPlatform() failFast = false testLogging { events 'STARTED', 'PASSED', 'FAILED', 'SKIPPED' } jvmArgs '--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED', '--add-exports=java.base/sun.nio.ch=ALL-UNNAMED', '--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED', '--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED', '--add-opens=jdk.compiler/com.sun.tools.javac=ALL-UNNAMED', '--add-opens=java.base/java.lang=ALL-UNNAMED', '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', '--add-opens=java.base/java.io=ALL-UNNAMED', '--add-opens=java.base/java.util=ALL-UNNAMED' afterSuite { desc, result -> if (!desc.parent) { println "\nTest result: ${result.resultType}" println "Test summary: ${result.testCount} tests, " + "${result.successfulTestCount} succeeded, " + "${result.failedTestCount} failed, " + "${result.skippedTestCount} skipped" } } }