Migrate test stack to JUnit 6 (align Jupiter + Platform via junit-bom)
Body:
Context
Dependabot opened #28 bumping org.junit.platform:junit-platform-launcher from
1.11.4 to 6.1.1 — but only the Platform key, leaving Jupiter on 5.11.4.
JUnit 6 is released in lockstep (Platform 6 + Jupiter 6 + Vintage 6). Raising only
the launcher creates an unsupported version skew: Gradle's "highest version wins"
conflict resolution silently pulls junit-platform-commons/-engine 6.x underneath
a 5.x Jupiter engine. #28 happened to pass CI on JDK 17, but the combination is
fragile and not a supported way to adopt JUnit 6.
Root cause of the partial bump: libs.versions.toml keeps two separate keys
(junit for Jupiter, junit-platform for the launcher), so Dependabot bumps each
artifact independently.
#28 is being ignored for now (@dependabot ignore this major version); this issue
tracks doing the migration properly.
Scope / tasks
Why deferred
This is a deliberate major migration, not a one-line bump. Merging Dependabot's
partial bump would ship an unsupported Platform-6 / Jupiter-5 configuration.
Migrate test stack to JUnit 6 (align Jupiter + Platform via junit-bom)
Body:
Context
Dependabot opened #28 bumping
org.junit.platform:junit-platform-launcherfrom1.11.4 to 6.1.1 — but only the Platform key, leaving Jupiter on 5.11.4.
JUnit 6 is released in lockstep (Platform 6 + Jupiter 6 + Vintage 6). Raising only
the launcher creates an unsupported version skew: Gradle's "highest version wins"
conflict resolution silently pulls
junit-platform-commons/-engine6.x underneatha 5.x Jupiter engine. #28 happened to pass CI on JDK 17, but the combination is
fragile and not a supported way to adopt JUnit 6.
Root cause of the partial bump:
libs.versions.tomlkeeps two separate keys(
junitfor Jupiter,junit-platformfor the launcher), so Dependabot bumps eachartifact independently.
#28 is being ignored for now (
@dependabot ignore this major version); this issuetracks doing the migration properly.
Scope / tasks
org.junit:junit-bomso Jupiter + Platform versions are always alignedfrom a single source.
deprecations) and update tests as needed.
junit/junit-platformkeys inlibs.versions.toml(via the BOM) so Dependabot can't produce a partial bump again.
@dependabot unignoreso future 6.xpatches flow normally.
Why deferred
This is a deliberate major migration, not a one-line bump. Merging Dependabot's
partial bump would ship an unsupported Platform-6 / Jupiter-5 configuration.