sbglasius opened a new issue, #16289: URL: https://github.com/apache/grails-core/issues/16289
Split out from review discussion on https://github.com/apache/grails-core/pull/16281. ## Problem `gradle/test-config.gradle` adds `testRuntimeOnly 'org.junit.platform:junit-platform-launcher'` and calls `useJUnitPlatform()`, but never adds `org.junit.jupiter:junit-jupiter-engine`. Without the engine on the test runtime classpath, JUnit 5 tests are not discovered — and the build does not fail. The test task reports `BUILD SUCCESSFUL` while executing zero tests. This was found in `grails-gsp/grails-taglib`, whose only JUnit 5 test (`GroovyPageAttributesTests`) had never executed. Reverting just the one-line engine addition in that module reproduces it: `:grails-taglib:test` succeeds and discovers nothing. ## Why it usually works Every other module with JUnit 5 tests receives the engine only *transitively*, via `runtimeOnly 'org.junit.jupiter:junit-jupiter-engine'` in `grails-testing-support-core`. The six modules that declare `junit-jupiter-api` without an explicit engine all resolve it that way today. If that transitive edge is ever narrowed, the same silent-skip returns in those modules with a green build. ## Suggested fix Add the Jupiter engine to the `gradle/test-config.gradle` convention alongside the platform launcher, so no module can silently skip its JUnit 5 tests, and drop the now-redundant module-local declaration in `grails-gsp/grails-taglib/build.gradle`. Worth considering alongside this: a guard that fails the build when a test task discovers zero tests in a module that has test sources, so this class of problem cannot be green again. The module-local fix landed in #16281 to unblock that PR; this issue tracks the convention-level fix. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
