def junitVersion = project.hasProperty('junit.version')?project.property('junit.version'):'5.6.2' def hamcrestVersion = project.hasProperty('hamcrest.version')?project.property('hamcrest.version'):'2.2' dependencies { testImplementation "org.junit.jupiter:junit-jupiter-api:${junitVersion}" testImplementation "org.junit.jupiter:junit-jupiter-params:${junitVersion}" testImplementation "org.hamcrest:hamcrest-library:${hamcrestVersion}" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junitVersion}" } test { useJUnitPlatform() doFirst { jvmArgs = [ '--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED', '--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED', '--add-opens=java.base/java.nio=ALL-UNNAMED' ] } systemProperty 'java.util.logging.manager', 'org.apache.logging.log4j.jul.LogManager' systemProperty 'path.home', "${project.buildDir}/" systemProperty 'jna.debug_load', 'true' failFast = true testLogging { events 'STARTED', 'PASSED', 'FAILED', 'SKIPPED' } 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" } } }