Skip to content

Add cautions about known Gradle regressions to classloading blog #2294

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions _posts/2025-04-30-test-classloading-rewrite.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ In practice, there have been a few hiccups and we've also discovered some edge c

- *Dev services now start in the JUnit discovery phase*. https://quarkus.io/guides/dev-services[Quarkus Dev Services] are currently started during https://quarkus.io/guides/reaugmentation#what-is-augmentation[the augmentation phase], along with bytecode manipulation and other application initialization steps. With the new testing design, all augmentation happens at the beginning of the test run, during the JUnit discovery phase. This means all Dev Services also start at the beginning of the test run. If several test classes with different Dev Service configuration are augmented before any tests are run, multiple differently-configured Dev Services may be running at the same time. This can cause port conflicts and cross-talk on configuration values. We're hoping to have a https://github.com/quarkusio/quarkus/issues/45785[fix] for this in the next release. As a workaround, splitting conflicting tests into separate projects should fix symptoms.
- *Config access from JUnit conditions*. Using a `ConfigProvider` from a custom JUnit condition will https://github.com/quarkusio/quarkus/issues/47081[trigger a `ServiceConfigurationError`]. The workaround is to set the thread context classloader to `this.getClass().getClassLoader()` before reading config, and then set it back afterwards.
- *Nested test contamination and JUnit overrides in Gradle*. If nested `@QuarkusTest` tests are mixed in the same project with plain tests, tests https://github.com/quarkusio/quarkus/issues/47657[may fail to run]. Having a `junit-platform.properties` in a Gradle project also https://github.com/quarkusio/quarkus/issues/47646[causes problems] for `@QuarkusTest`s.
- *Eclipse support*. Running `QuarkusTest` tests from the Eclipse IDE is https://github.com/quarkusio/quarkus/issues/47656[more challenging]. Right-clicking and running individual test methods works, and running a whole package also works. But running at the class level gives an error.
- *Increased memory footprint running tests.* For suites using multiple profiles and resources, more heap or metaspace may be needed.

Expand Down
Loading