From d04d12de2ce34cb42bdbccd99d831fd27328ca57 Mon Sep 17 00:00:00 2001 From: Sergey Chelombitko Date: Sat, 3 Aug 2024 11:54:20 +0100 Subject: [PATCH] Switch to built-in JUnit platform support --- buildSrc/build.gradle.kts | 4 ---- buildSrc/src/main/kotlin/Testing.kt | 24 +++++------------------- buildSrc/src/main/kotlin/Versions.kt | 7 +++---- core/build.gradle.kts | 11 ++++------- 4 files changed, 12 insertions(+), 34 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 77e446ab4..876c922b2 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -5,7 +5,3 @@ plugins { repositories { mavenCentral() } - -dependencies { - implementation("org.junit.platform:junit-platform-gradle-plugin:1.0.0") -} diff --git a/buildSrc/src/main/kotlin/Testing.kt b/buildSrc/src/main/kotlin/Testing.kt index fc2bb031f..6d62437a9 100644 --- a/buildSrc/src/main/kotlin/Testing.kt +++ b/buildSrc/src/main/kotlin/Testing.kt @@ -1,38 +1,24 @@ import org.gradle.api.Project import org.gradle.api.tasks.testing.Test -import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.dependencies import org.gradle.kotlin.dsl.withType -import org.junit.platform.gradle.plugin.JUnitPlatformExtension object Testing { fun configure(project: Project) { - project.apply(plugin = "org.junit.platform.gradle.plugin") - project.dependencies { add("testImplementation", TestLibraries.kluent) add("testImplementation", TestLibraries.mockitoKotlin) add("testImplementation", TestLibraries.spekAPI) add("testImplementation", TestLibraries.junit5) + add("testImplementation", TestLibraries.junitJupiterApi) + add("testRuntimeOnly", TestLibraries.junitJupiterEngine) add("testRuntimeOnly", TestLibraries.spekJUnitPlatformEngine) - add("testRuntimeOnly", TestLibraries.jupiterEngine) } - project.extensions.getByType(JUnitPlatformExtension::class.java).apply { - filters { - engines { - include("spek") - } + project.tasks.withType().configureEach { + useJUnitPlatform { + includeEngines("spek", "junit-jupiter") } - enableStandardTestTask = true - } - - project.tasks.withType().all { - project.tasks.getByName("check").dependsOn(this) - useJUnitPlatform() } - - project.tasks.getByName("junitPlatformTest").outputs.upToDateWhen { false } - project.tasks.getByName("test").outputs.upToDateWhen { false } } } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 8c6288f54..8c006fd37 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -17,7 +17,6 @@ object Versions { val junit5 = "5.6.0" val kluent = "1.64" - val androidxTest = "1.3.0" val junit = "4.12" val gson = "2.8.5" val apacheCommonsText = "1.3" @@ -25,7 +24,7 @@ object Versions { val apacheCommonsCollections = "4.4" val jacksonDatabind = "2.9.5" val testContainers = "1.15.3" - val jupiterEngine = "5.1.0" + val junitJupiter = "5.10.3" val scalr = "4.2" val allureJava = "2.28.0" val allureEnvironment = "1.0.0" @@ -72,10 +71,10 @@ object TestLibraries { val ktorClientMock = "io.ktor:ktor-client-mock-jvm:${Versions.ktor}" val kotlinCoroutinesTest = "org.jetbrains.kotlinx:kotlinx-coroutines-test" - val androidxTestRunner = "androidx.test:runner:${Versions.androidxTest}" val junit = "junit:junit:${Versions.junit}" val mockitoKotlin = "org.mockito.kotlin:mockito-kotlin:${Versions.mockitoKotlin}" - val jupiterEngine = "org.junit.jupiter:junit-jupiter-engine:${Versions.jupiterEngine}" + val junitJupiterApi = "org.junit.jupiter:junit-jupiter-api:${Versions.junitJupiter}" + val junitJupiterEngine = "org.junit.jupiter:junit-jupiter-engine:${Versions.junitJupiter}" val koin = "io.insert-koin:koin-test:${Versions.koin}" val jsonAssert = "org.skyscreamer:jsonassert:${Versions.jsonAssert}" diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 2fbb5821a..7dfdcc839 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -2,7 +2,6 @@ plugins { idea `java-library` id("org.jetbrains.kotlin.jvm") - jacoco } sourceSets { @@ -44,12 +43,6 @@ dependencies { testImplementation(TestLibraries.koin) } -tasks.named("jacocoTestReport").configure { - reports.xml.required.set(true) - reports.html.required.set(true) - dependsOn(tasks.named("test")) -} - val integrationTest = task("integrationTest") { description = "Runs integration tests." group = "verification" @@ -62,5 +55,9 @@ val integrationTest = task("integrationTest") { shouldRunAfter("test") } +tasks.named("check") { + dependsOn(integrationTest) +} + Deployment.initialize(project) Testing.configure(project)