description = "Spring TestContext Framework" apply plugin: "kotlin" dependencyManagement { imports { mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" mavenBom "io.netty:netty-bom:${nettyVersion}" } } dependencies { compile(project(":spring-core")) optional(project(":spring-aop")) optional(project(":spring-beans")) optional(project(":spring-context")) optional(project(":spring-jdbc")) optional(project(":spring-orm")) optional(project(":spring-tx")) optional(project(":spring-web")) optional(project(":spring-webflux")) optional(project(":spring-webmvc")) optional(project(":spring-websocket")) optional("javax.activation:javax.activation-api:1.2.0") optional("javax.el:javax.el-api:3.0.1-b04") optional("javax.inject:javax.inject:1") optional("javax.servlet:javax.servlet-api:4.0.1") optional("javax.servlet.jsp:javax.servlet.jsp-api:2.3.2-b02") optional("javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1") optional("javax.xml.bind:jaxb-api:2.3.1") optional("javax.websocket:javax.websocket-api:1.1") optional("junit:junit:4.13-beta-3") { exclude group: "org.hamcrest", module: "hamcrest-core" } optional("org.junit.jupiter:junit-jupiter-api") optional("org.testng:testng:6.14.3") optional("org.aspectj:aspectjweaver:${aspectjVersion}") optional("org.codehaus.groovy:groovy:${groovyVersion}") optional("org.hamcrest:hamcrest:2.1") optional("org.apache.taglibs:taglibs-standard-jstlel:1.2.5") { exclude group: "org.apache.taglibs", module: "taglibs-standard-spec" } optional("net.sourceforge.htmlunit:htmlunit:2.35.0") { exclude group: "commons-logging", module: "commons-logging" } optional("org.seleniumhq.selenium:htmlunit-driver:2.35.1") { exclude group: "commons-logging", module: "commons-logging" } optional("org.seleniumhq.selenium:selenium-java:3.141.59") { exclude group: "commons-logging", module: "commons-logging" exclude group: "io.netty", module: "netty" } optional("org.xmlunit:xmlunit-matchers:2.6.2") { exclude group: "org.hamcrest", module: "hamcrest-core" } optional("org.skyscreamer:jsonassert:1.5.0") optional("com.jayway.jsonpath:json-path:2.4.0") optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") optional("io.projectreactor:reactor-test") optional("org.jetbrains.kotlinx:kotlinx-coroutines-core") optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") testCompile(project(":spring-context-support")) testCompile(project(":spring-oxm")) testCompile("javax.annotation:javax.annotation-api:1.3.2") testCompile("javax.cache:cache-api:1.1.0") testCompile("javax.ejb:javax.ejb-api:3.2") testCompile("javax.interceptor:javax.interceptor-api:1.2.2") testCompile("javax.mail:javax.mail-api:1.6.2") testCompile("org.hibernate:hibernate-core:5.4.3.Final") testCompile("org.hibernate:hibernate-validator:6.0.17.Final") testCompile("org.junit.platform:junit-platform-runner") { exclude group: "junit", module: "junit" } testCompile("org.junit.platform:junit-platform-testkit") testCompile("org.junit.jupiter:junit-jupiter-params") testCompile("com.fasterxml.jackson.core:jackson-databind:${jackson2Version}") testCompile("com.thoughtworks.xstream:xstream:1.4.11.1") testCompile("com.rometools:rome:1.12.1") testCompile("org.apache.tiles:tiles-api:${tiles3Version}") testCompile("org.apache.tiles:tiles-core:${tiles3Version}", withoutJclOverSlf4j) testCompile("org.apache.tiles:tiles-servlet:${tiles3Version}", withoutJclOverSlf4j) testCompile("org.hsqldb:hsqldb:${hsqldbVersion}") testCompile("org.apache.httpcomponents:httpclient:4.5.9") { exclude group: "commons-logging", module: "commons-logging" } testCompile("io.projectreactor.netty:reactor-netty") testCompile("de.bechte.junit:junit-hierarchicalcontextrunner:4.12.1") { exclude group: "junit", module: "junit" } testRuntime("org.junit.jupiter:junit-jupiter-engine") testRuntime("org.junit.vintage:junit-vintage-engine") { exclude group: "junit", module: "junit" } testRuntime("org.glassfish:javax.el:3.0.1-b08") testRuntime("com.sun.xml.bind:jaxb-core:2.3.0.1") testRuntime("com.sun.xml.bind:jaxb-impl:2.3.0.1") } task junit(type: Test) { description = "Runs JUnit 4 and JUnit Jupiter tests." systemProperty("testGroups", project.properties.get("testGroups")) useJUnitPlatform { excludeTags "failing-test-case" } include(["**/*Tests.class", "**/*Test.class"]) exclude(["**/testng/**/*.*"]) // Java Util Logging for the JUnit Platform. // systemProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager") } task testNG(type: Test) { description = "Runs TestNG tests." systemProperty("testGroups", project.properties.get("testGroups")) useTestNG() scanForTestClasses = false include(["**/testng/**/*Tests.class", "**/testng/**/*Test.class"]) // Show STD_OUT & STD_ERR of the test JVM(s) on the console: // testLogging.showStandardStreams = true // forkEvery 1 } test { description = "Runs all tests." dependsOn junit, testNG exclude(["**/*.*"]) } task aggregateTestReports(type: TestReport) { description = "Aggregates JUnit and TestNG test reports." destinationDir = test.reports.html.destination reportOn junit, testNG } check.dependsOn aggregateTestReports