Continuous testing is not picking up custom JUnit extension from same module
### Describe the bug

A Junit extension, e.g. a `org.junit.jupiter.api.extension.BeforeAllCallback`, that is registered via `src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension` is not picked up when `mvn quarkus:test` (CT) is run in that module.

If CT is run in another module that depends on the module that contains the extension, everything works as expected!

### Expected behavior

"local" extension is run

### Actual behavior

"local" extension is not run/found

### How to Reproduce?

[q_ct-junitext.zip](https://github.com/quarkusio/quarkus/files/8222903/q_ct-junitext.zip)

- `mvn verify` ✔️ 
- run test in Eclipse ✔️ 
- `mvn quarkus:test` ❌ 

### Output of `uname -a` or `ver`

_No response_

### Output of `java -version`

17.0.2, vendor: BellSoft

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

2.7.3.Final and 2.7.4.Final

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

Apache Maven 3.8.4

### Additional information

ℹ️ There is no issue when the extension is registered via `@ExtendWith(...)`!
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/JunitTestRunner.java b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/JunitTestRunner.java
index 4898fccee5e..328d1a12e2b 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/JunitTestRunner.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/dev/testing/JunitTestRunner.java
@@ -195,6 +195,7 @@ public FilterResult apply(TestDescriptor testDescriptor) {
             return new Runnable() {
                 @Override
                 public void run() {
+                    final ClassLoader origCl = Thread.currentThread().getContextClassLoader();
                     try {
                         synchronized (JunitTestRunner.this) {
                             testsRunning = true;
@@ -222,6 +223,8 @@ public void quarkusStarting() {
 
                         Map<String, Map<UniqueId, TestResult>> resultsByClass = new HashMap<>();
                         AtomicReference<TestIdentifier> currentNonDynamicTest = new AtomicReference<>();
+
+                        Thread.currentThread().setContextClassLoader(tcl);
                         launcher.execute(testPlan, new TestExecutionListener() {
 
                             @Override
@@ -396,6 +399,7 @@ public void reportingEntryPublished(TestIdentifier testIdentifier, ReportEntry e
                                 throw new RuntimeException(e);
                             }
                         } finally {
+                            Thread.currentThread().setContextClassLoader(origCl);
                             synchronized (JunitTestRunner.this) {
                                 testsRunning = false;
                                 if (aborted) {
['core/deployment/src/main/java/io/quarkus/deployment/dev/testing/JunitTestRunner.java']