Skip to content

Commit 6026988

Browse files
authored
Merge pull request #2293 from holly-cummins/add-eclipse-workaround
Update classloading blog to mention Eclipse issue and workaround
2 parents 38febd0 + fe1f4f3 commit 6026988

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

_posts/2025-04-30-test-classloading-rewrite.adoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ author: hcummins
99
== What's changing?
1010

1111
The internals of Quarkus test classloading have been rewritten in 3.22.
12-
It does not affect production and dev modes, or some Quarkus test modes, such `@QuarkusIntegrationTest`, `@QuarkusComponentTest`.
12+
It does not affect production and dev modes, or some Quarkus test modes, such as `@QuarkusIntegrationTest`, `@QuarkusComponentTest`.
1313
However, `@QuarkusTest` has changed.
1414
This change should make Quarkus testing work better, and it allowed us to fix a pile of longstanding bugs.
1515
It will also allow us to improve the integration with test frameworks such as Pact.
@@ -44,7 +44,8 @@ In practice, there have been a few hiccups and we've also discovered some edge c
4444

4545
- *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.
4646
- *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.
47-
- Increased memory footprint running tests. For suites using multiple profiles and resources, more heap or metaspace may be needed.
47+
- *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.
48+
- *Increased memory footprint running tests.* For suites using multiple profiles and resources, more heap or metaspace may be needed.
4849

4950

5051
=== Things to watch out for

0 commit comments

Comments
 (0)