Emil Kantis
10/26/2022, 8:29 PMEmil Kantis
10/26/2022, 8:32 PMmitch
10/26/2022, 8:46 PMmitch
10/26/2022, 8:52 PMsam
10/26/2022, 9:11 PMsam
10/26/2022, 9:12 PMmitch
10/26/2022, 9:14 PMmitch
10/26/2022, 9:15 PMEmil Kantis
10/26/2022, 9:17 PMmitch
10/27/2022, 3:48 AMmitch
10/27/2022, 3:49 AMmitch
10/27/2022, 8:19 PMEmil Kantis
10/27/2022, 8:28 PMEmil Kantis
10/27/2022, 8:28 PMEmil Kantis
10/27/2022, 8:32 PMEmil Kantis
10/27/2022, 8:32 PMEmil Kantis
10/27/2022, 8:33 PMEmil Kantis
10/27/2022, 8:35 PMEmil Kantis
10/27/2022, 8:36 PMmitch
10/27/2022, 9:06 PMEmil Kantis
10/27/2022, 9:07 PMEmil Kantis
10/27/2022, 9:07 PMEmil Kantis
10/27/2022, 9:10 PM~/workspace/kotest-junit-issue-repro main +2 !1 ?1 > ./gradlew test --tests "my.pack.*" 23:09:50
BUILD SUCCESSFUL in 4s
4 actionable tasks: 4 executed
mitch
10/27/2022, 9:10 PMCaused by: org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter' failed to discover tests
at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:111)
at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:85)
at org.junit.platform.launcher.core.DefaultLauncher.discover(DefaultLauncher.java:92)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
... 16 more
Caused by: java.lang.NoClassDefFoundError: org/junit/jupiter/api/ClassOrderer
at org.junit.jupiter.engine.config.DefaultJupiterConfiguration.<clinit>(DefaultJupiterConfiguration.java:50)
at org.junit.jupiter.engine.JupiterTestEngine.discover(JupiterTestEngine.java:66)
at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:103)
... 23 more
mitch
10/27/2022, 9:11 PMEmil Kantis
10/27/2022, 9:13 PMmitch
10/27/2022, 9:17 PMmitch
10/27/2022, 9:18 PMmitch
10/27/2022, 9:19 PMEmil Kantis
10/27/2022, 9:23 PMdependencies {
testImplementation("io.kotest:kotest-runner-junit5:5.5.1") {
exclude(group = "org.junit.jupiter")
}
testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.2")
testImplementation("org.junit.jupiter:junit-jupiter-engine:5.7.2")
}
Emil Kantis
10/27/2022, 9:27 PMmitch
10/27/2022, 10:18 PMmitch
10/27/2022, 10:20 PMmitch
10/27/2022, 10:49 PMdependencies {
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.8.2")
testImplementation(libs.kotest.property)
testImplementation(libs.kotest.runner.junit5)
testImplementation("org.junit.jupiter:junit-jupiter-api") {
version {
strictly("5.7.1")
}
}
}
Emil Kantis
10/27/2022, 11:13 PMincludeBuild("<path to kotest@master>")
in settings.gradle.kts
and see if it changes anythingmitch
10/27/2022, 11:15 PMmitch
10/27/2022, 11:15 PMEmil Kantis
10/27/2022, 11:20 PMEmil Kantis
10/27/2022, 11:22 PMorg.junit.jupiter:junit-jupiter-api:5.7.2 -> 5.9.1 (*)
mitch
10/27/2022, 11:22 PMtest.runtimeClasspath = newJunitRuntimeClasspath + kotestRuntimeClasspath + projectTestClasspath
Emil Kantis
10/27/2022, 11:22 PMEmil Kantis
10/27/2022, 11:23 PMmitch
10/27/2022, 11:23 PMEmil Kantis
10/27/2022, 11:24 PMEmil Kantis
10/27/2022, 11:24 PMmitch
10/27/2022, 11:25 PMmitch
10/27/2022, 11:25 PMEmil Kantis
10/27/2022, 11:26 PMEmil Kantis
10/27/2022, 11:26 PMmitch
10/27/2022, 11:27 PMmitch
10/27/2022, 11:27 PMmitch
10/27/2022, 11:27 PMEmil Kantis
10/27/2022, 11:28 PMEmil Kantis
10/27/2022, 11:28 PMEmil Kantis
10/27/2022, 11:29 PMmitch
10/27/2022, 11:29 PMmitch
10/27/2022, 11:29 PMEmil Kantis
10/27/2022, 11:30 PMmitch
10/27/2022, 11:32 PMEmil Kantis
10/27/2022, 11:34 PMUpdate JUnit version from 5.7.2 to 5.8.2
Note: If your build somehow manages to put both JUnit 5.7 _and_ 5.8 onto the classpath and they load in the wrong order, you might see problems related to `ClassOrderer` not being found. Please make sure that _only_ JUnit 5.8+ is loaded
mitch
10/27/2022, 11:34 PMEmil Kantis
10/27/2022, 11:35 PMUpdate JUnit version from 5.7.2 to 5.8.2
Kotest now _requires_ the runtime version of JUnit to be _at least_ 5.8
Note: If your build somehow manages to put both JUnit 5.7 _and_ 5.8 onto the classpath and they load in the wrong order, you might see problems related to `ClassOrderer` not being found. Please make sure that _only_ JUnit 5.8+ is loaded
?Emil Kantis
10/27/2022, 11:35 PMmitch
10/27/2022, 11:35 PMEmil Kantis
10/27/2022, 11:36 PMmitch
10/27/2022, 11:36 PMEmil Kantis
10/27/2022, 11:37 PMEmil Kantis
10/27/2022, 11:37 PMmitch
10/27/2022, 11:38 PMmitch
10/27/2022, 11:39 PMmitch
10/27/2022, 11:39 PMmitch
10/27/2022, 11:40 PMEmil Kantis
10/27/2022, 11:40 PMmitch
10/27/2022, 11:40 PMEmil Kantis
10/27/2022, 11:40 PMEmil Kantis
10/27/2022, 11:43 PMmitch
10/27/2022, 11:43 PMEmil Kantis
10/27/2022, 11:45 PMMaven central integration. The plugin makes it easy to configure publishing to Maven Central with dedicated APIs to set it up and configure everything that is required. It also avoids issues like having multiple staging repositories on Sonatype OSS and supports automatic releasing without requiring any interaction with the web interface.
Emil Kantis
10/27/2022, 11:58 PMmitch
10/27/2022, 11:59 PMmitch
10/27/2022, 11:59 PMsam
10/29/2022, 11:18 AMmitch
10/29/2022, 12:55 PM